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"}'
[91m2025-11-09 14:28:29 SEVERE dev.enola.cli.common.LoggingMixin executionStrategy Hi! ๐ I'm https://Enola.dev 852c1ab-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
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
additionalProperties: false
required:
- entities
additionalProperties: false
- name: 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
additionalProperties: false
required:
- relations
additionalProperties: false
- name: 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
additionalProperties: false
required:
- observations
additionalProperties: false
- name: 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
additionalProperties: false
- name: 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
additionalProperties: false
required:
- deletions
additionalProperties: false
- name: 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
additionalProperties: false
description: An array of relations to delete
required:
- relations
additionalProperties: false
- name: read_graph
description: Read the entire knowledge graph
inputSchema:
type: object
properties: {}
additionalProperties: false
- name: 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
additionalProperties: false
- name: 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
additionalProperties: false
modelcontextprotocol/everything:
- name: echo
description: Echoes back the input
inputSchema:
type: object
properties:
message:
type: string
description: Message to echo
required:
- message
additionalProperties: false
- name: add
description: Adds two numbers
inputSchema:
type: object
properties:
a:
type: number
description: First number
b:
type: number
description: Second number
required:
- a
- b
additionalProperties: false
- name: longRunningOperation
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: printEnv
description: "Prints all environment variables, helpful for debugging MCP server\
\ configuration"
inputSchema:
type: object
properties: {}
additionalProperties: false
- name: sampleLLM
description: Samples from an LLM using MCP's sampling feature
inputSchema:
type: object
properties:
prompt:
type: string
description: The prompt to send to the LLM
maxTokens:
type: number
default: 100
description: Maximum number of tokens to generate
required:
- prompt
additionalProperties: false
- name: getTinyImage
description: Returns the MCP_TINY_IMAGE
inputSchema:
type: object
properties: {}
additionalProperties: false
- name: annotatedMessage
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: getResourceReference
description: Returns a resource reference that can be used by MCP clients
inputSchema:
type: object
properties:
resourceId:
type: number
minimum: 1
maximum: 100
description: ID of the resource to reference (1-100)
required:
- resourceId
additionalProperties: false
- name: getResourceLinks
description: Returns multiple 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: structuredContent
description: Returns structured content along with an output schema for client data
validation
inputSchema:
type: object
properties:
location:
type: string
minLength: 1
description: City name or zip code
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#