MCP ๐ฑ¶
mcp has useful commands for exploring MCP Tools.
This is similar to the MCP Inspector, and other such tools.
Call MCP Tool¶
$ ./enola -v mcp call-tool modelcontextprotocol/everything echo '{"message":"hi"}'
[91m2026-03-07 17:30:19 SEVERE dev.enola.cli.common.LoggingMixin executionStrategy Hi! ๐ I'm https://Enola.dev 5853ac8-dirty. ๐ฝ Resistance ๐พ is futile. We are ONE. What's your goal, today?
[0mTextContent[annotations=null, text=Echo: hi, meta=null]
List MCP Tools¶
$ ./enola mcp list-tools
modelcontextprotocol/git:
- name: git_status
description: Shows the working tree status
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
required:
- repo_path
- name: git_diff_unstaged
description: Shows changes in the working directory that are not yet staged
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
context_lines:
default: 3
title: Context Lines
type: integer
required:
- repo_path
- name: git_diff_staged
description: Shows changes that are staged for commit
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
context_lines:
default: 3
title: Context Lines
type: integer
required:
- repo_path
- name: git_diff
description: Shows differences between branches or commits
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
target:
title: Target
type: string
context_lines:
default: 3
title: Context Lines
type: integer
required:
- repo_path
- target
- name: git_commit
description: Records changes to the repository
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
message:
title: Message
type: string
required:
- repo_path
- message
- name: git_add
description: Adds file contents to the staging area
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
files:
items:
type: string
title: Files
type: array
required:
- repo_path
- files
- name: git_reset
description: Unstages all staged changes
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
required:
- repo_path
- name: git_log
description: Shows the commit logs
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
max_count:
default: 10
title: Max Count
type: integer
start_timestamp:
anyOf:
- type: string
- type: "null"
description: "Start timestamp for filtering commits. Accepts: ISO 8601 format\
\ (e.g., '2024-01-15T14:30:25'), relative dates (e.g., '2 weeks ago', 'yesterday'),\
\ or absolute dates (e.g., '2024-01-15', 'Jan 15 2024')"
title: Start Timestamp
end_timestamp:
anyOf:
- type: string
- type: "null"
description: "End timestamp for filtering commits. Accepts: ISO 8601 format\
\ (e.g., '2024-01-15T14:30:25'), relative dates (e.g., '2 weeks ago', 'yesterday'),\
\ or absolute dates (e.g., '2024-01-15', 'Jan 15 2024')"
title: End Timestamp
required:
- repo_path
- name: git_create_branch
description: Creates a new branch from an optional base branch
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
branch_name:
title: Branch Name
type: string
base_branch:
anyOf:
- type: string
- type: "null"
title: Base Branch
required:
- repo_path
- branch_name
- name: git_checkout
description: Switches branches
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
branch_name:
title: Branch Name
type: string
required:
- repo_path
- branch_name
- name: git_show
description: Shows the contents of a commit
inputSchema:
type: object
properties:
repo_path:
title: Repo Path
type: string
revision:
title: Revision
type: string
required:
- repo_path
- revision
- name: git_branch
description: List Git branches
inputSchema:
type: object
properties:
repo_path:
description: The path to the Git repository.
title: Repo Path
type: string
branch_type:
description: "Whether to list local branches ('local'), remote branches ('remote')\
\ or all branches('all')."
title: Branch Type
type: string
contains:
anyOf:
- type: string
- type: "null"
description: The commit sha that branch should contain. Do not pass anything
to this param if no commit sha is specified
title: Contains
not_contains:
anyOf:
- type: string
- type: "null"
description: The commit sha that branch should NOT contain. Do not pass anything
to this param if no commit sha is specified
title: Not Contains
required:
- repo_path
- branch_type
modelcontextprotocol/fetch:
- name: fetch
description: |-
Fetches a URL from the internet and optionally extracts its contents as markdown.
Although originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that.
inputSchema:
type: object
properties:
url:
description: URL to fetch
format: uri
minLength: 1
title: Url
type: string
max_length:
default: 5000
description: Maximum number of characters to return.
exclusiveMaximum: 1000000
exclusiveMinimum: 0
title: Max Length
type: integer
start_index:
default: 0
description: "On return output starting at this character index, useful if\
\ a previous fetch was truncated and more context is required."
minimum: 0
title: Start Index
type: integer
raw:
default: false
description: "Get the actual HTML content of the requested page, without simplification."
title: Raw
type: boolean
required:
- url
modelcontextprotocol/memory:
- name: create_entities
title: Create Entities
description: Create multiple new entities in the knowledge graph
inputSchema:
type: object
properties:
entities:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the entity
entityType:
type: string
description: The type of the entity
observations:
type: array
items:
type: string
description: An array of observation contents associated with the entity
required:
- name
- entityType
- observations
required:
- entities
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
entities:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the entity
entityType:
type: string
description: The type of the entity
observations:
type: array
items:
type: string
description: An array of observation contents associated with the entity
required:
- name
- entityType
- observations
additionalProperties: false
required:
- entities
additionalProperties: false
- name: create_relations
title: Create Relations
description: Create multiple new relations between entities in the knowledge graph.
Relations should be in active voice
inputSchema:
type: object
properties:
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
required:
- relations
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
additionalProperties: false
required:
- relations
additionalProperties: false
- name: add_observations
title: Add Observations
description: Add new observations to existing entities in the knowledge graph
inputSchema:
type: object
properties:
observations:
type: array
items:
type: object
properties:
entityName:
type: string
description: The name of the entity to add the observations to
contents:
type: array
items:
type: string
description: An array of observation contents to add
required:
- entityName
- contents
required:
- observations
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
results:
type: array
items:
type: object
properties:
entityName:
type: string
addedObservations:
type: array
items:
type: string
required:
- entityName
- addedObservations
additionalProperties: false
required:
- results
additionalProperties: false
- name: delete_entities
title: Delete Entities
description: Delete multiple entities and their associated relations from the knowledge
graph
inputSchema:
type: object
properties:
entityNames:
type: array
items:
type: string
description: An array of entity names to delete
required:
- entityNames
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
success:
type: boolean
message:
type: string
required:
- success
- message
additionalProperties: false
- name: delete_observations
title: Delete Observations
description: Delete specific observations from entities in the knowledge graph
inputSchema:
type: object
properties:
deletions:
type: array
items:
type: object
properties:
entityName:
type: string
description: The name of the entity containing the observations
observations:
type: array
items:
type: string
description: An array of observations to delete
required:
- entityName
- observations
required:
- deletions
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
success:
type: boolean
message:
type: string
required:
- success
- message
additionalProperties: false
- name: delete_relations
title: Delete Relations
description: Delete multiple relations from the knowledge graph
inputSchema:
type: object
properties:
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
description: An array of relations to delete
required:
- relations
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
success:
type: boolean
message:
type: string
required:
- success
- message
additionalProperties: false
- name: read_graph
title: Read Graph
description: Read the entire knowledge graph
inputSchema:
type: object
properties: {}
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
entities:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the entity
entityType:
type: string
description: The type of the entity
observations:
type: array
items:
type: string
description: An array of observation contents associated with the entity
required:
- name
- entityType
- observations
additionalProperties: false
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
additionalProperties: false
required:
- entities
- relations
additionalProperties: false
- name: search_nodes
title: Search Nodes
description: Search for nodes in the knowledge graph based on a query
inputSchema:
type: object
properties:
query:
type: string
description: "The search query to match against entity names, types, and observation\
\ content"
required:
- query
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
entities:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the entity
entityType:
type: string
description: The type of the entity
observations:
type: array
items:
type: string
description: An array of observation contents associated with the entity
required:
- name
- entityType
- observations
additionalProperties: false
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
additionalProperties: false
required:
- entities
- relations
additionalProperties: false
- name: open_nodes
title: Open Nodes
description: Open specific nodes in the knowledge graph by their names
inputSchema:
type: object
properties:
names:
type: array
items:
type: string
description: An array of entity names to retrieve
required:
- names
outputSchema:
$schema: http://json-schema.org/draft-07/schema#
type: object
properties:
entities:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the entity
entityType:
type: string
description: The type of the entity
observations:
type: array
items:
type: string
description: An array of observation contents associated with the entity
required:
- name
- entityType
- observations
additionalProperties: false
relations:
type: array
items:
type: object
properties:
from:
type: string
description: The name of the entity where the relation starts
to:
type: string
description: The name of the entity where the relation ends
relationType:
type: string
description: The type of the relation
required:
- from
- to
- relationType
additionalProperties: false
required:
- entities
- relations
additionalProperties: false
modelcontextprotocol/everything:
- name: echo
title: Echo Tool
description: Echoes back the input string
inputSchema:
type: object
properties:
message:
type: string
description: Message to echo
required:
- message
additionalProperties: false
- name: get-annotated-message
title: Get Annotated Message Tool
description: Demonstrates how annotations can be used to provide metadata about
content.
inputSchema:
type: object
properties:
messageType:
type: string
enum:
- error
- success
- debug
description: Type of message to demonstrate different annotation patterns
includeImage:
type: boolean
default: false
description: Whether to include an example image
required:
- messageType
additionalProperties: false
- name: get-env
title: Print Environment Tool
description: "Returns all environment variables, helpful for debugging MCP server\
\ configuration"
inputSchema:
type: object
properties: {}
- name: get-resource-links
title: Get Resource Links Tool
description: Returns up to ten resource links that reference different types of
resources
inputSchema:
type: object
properties:
count:
type: number
minimum: 1
maximum: 10
default: 3
description: Number of resource links to return (1-10)
additionalProperties: false
- name: get-resource-reference
title: Get Resource Reference Tool
description: Returns a resource reference that can be used by MCP clients
inputSchema:
type: object
properties:
resourceType:
type: string
enum:
- Text
- Blob
default: Text
resourceId:
type: number
default: 1
description: ID of the text resource to fetch
additionalProperties: false
- name: get-structured-content
title: Get Structured Content Tool
description: Returns structured content along with an output schema for client data
validation
inputSchema:
type: object
properties:
location:
type: string
enum:
- New York
- Chicago
- Los Angeles
description: Choose city
required:
- location
additionalProperties: false
outputSchema:
type: object
properties:
temperature:
type: number
description: Temperature in celsius
conditions:
type: string
description: Weather conditions description
humidity:
type: number
description: Humidity percentage
required:
- temperature
- conditions
- humidity
additionalProperties: false
$schema: http://json-schema.org/draft-07/schema#
- name: get-sum
title: Get Sum Tool
description: Returns the sum of two numbers
inputSchema:
type: object
properties:
a:
type: number
description: First number
b:
type: number
description: Second number
required:
- a
- b
additionalProperties: false
- name: get-tiny-image
title: Get Tiny Image Tool
description: Returns a tiny MCP logo image.
inputSchema:
type: object
properties: {}
- name: gzip-file-as-resource
title: GZip File as Resource Tool
description: "Compresses a single file using gzip compression. Depending upon the\
\ selected output type, returns either the compressed data as a gzipped resource\
\ or a resource link, allowing it to be downloaded in a subsequent request during\
\ the current session."
inputSchema:
type: object
properties:
name:
type: string
description: Name of the output file
default: README.md.gz
data:
type: string
format: uri
description: URL or data URI of the file content to compress
default: https://raw.githubusercontent.com/modelcontextprotocol/servers/refs/heads/main/README.md
outputType:
type: string
enum:
- resourceLink
- resource
default: resourceLink
description: "How the resulting gzipped file should be returned. 'resourceLink'\
\ returns a link to a resource that can be read later, 'resource' returns\
\ a full resource object."
additionalProperties: false
- name: toggle-simulated-logging
title: Toggle Simulated Logging
description: "Toggles simulated, random-leveled logging on or off."
inputSchema:
type: object
properties: {}
- name: toggle-subscriber-updates
title: Toggle Subscriber Updates
description: Toggles simulated resource subscription updates on or off.
inputSchema:
type: object
properties: {}
- name: trigger-long-running-operation
title: Trigger Long Running Operation Tool
description: Demonstrates a long running operation with progress updates.
inputSchema:
type: object
properties:
duration:
type: number
default: 10
description: Duration of the operation in seconds
steps:
type: number
default: 5
description: Number of steps in the operation
additionalProperties: false
- name: simulate-research-query
title: Simulate Research Query
description: "Simulates a deep research operation that gathers, analyzes, and synthesizes\
\ information. Demonstrates MCP task-based operations with progress through multiple\
\ stages. If 'ambiguous' is true and client supports elicitation, sends an elicitation\
\ request for clarification."
inputSchema:
type: object
properties:
topic:
type: string
description: The research topic to investigate
ambiguous:
type: boolean
default: false
description: Simulate an ambiguous query that requires clarification (triggers
input_required status)
required:
- topic
additionalProperties: false