Skip to main content

Run a FastMCP proxy that lists and invokes every MCP tool from the CLI or an HTTP server.

Project description

mcp-executor

mcp-executor is a lightweight FastMCP driver that discovers every MCP tool exposed by your configured backends, prints Python-like signatures, and lets you invoke them either from the command line or through a minimal FastMCP server.

Why use it?

  • 📋 Discoverability: Generate readable signatures for every tool so you know which arguments to pass.
  • Fast iteration: Jump between running the HTTP/stdio server and issuing one-off tool calls without reconfiguring clients.
  • 🧰 Batteries included: Ships with a uv-first workflow for building, testing, and publishing to PyPI.

Installation

pip install mcp-executor

or, if you prefer the uv toolchain:

uv tool install mcp-executor

Configuration

Point the CLI at an MCP client definition. Copy mcp.json.example into your workspace, adjust the upstream server definitions, and pass the path with -c/--config.

cp mcp.json.example ~/.config/mcp-executor/mcp.json

Usage

List available tools and inspect their signatures:

mcp-executor list -c ~/.config/mcp-executor/mcp.json

Call a tool directly:

mcp-executor call -c ~/.config/mcp-executor/mcp.json weather --arg city="Lisbon"

Run the FastMCP server (HTTP by default):

mcp-executor serve -c ~/.config/mcp-executor/mcp.json --transport http --host 0.0.0.0 --port 23456

Every command shares the --config option so you can point at different MCP client definitions per invocation.

Local development

uv venv --seed
uv sync
uv run mcp-executor list -c mcp.json.example

The repository still ships main.py so you can run ./main.py list ... directly with uv run if you prefer scripting locally.

Releasing with uv

  1. Bump version inside pyproject.toml.
  2. Build and verify the artifacts:
    uv build
    uv run python -m mcp_executor.cli --help
    
  3. Publish to PyPI with an API token (create one under your PyPI account and store it securely):
    export PYPI_API_TOKEN="pypi-xxxxxxxxxxxxxxxxxxxxxxxx"
    uv publish --token "$PYPI_API_TOKEN"
    
  4. Tag the release in git and push (git tag v0.1.1 && git push --tags).

GitHub Action publish workflow

The repository includes .github/workflows/publish.yml, which builds the wheel and sdist via uv build and calls uv publish --token $PYPI_API_TOKEN. Add a PYPI_API_TOKEN secret (scoped to “Publish to PyPI”) in your repository settings and trigger the workflow from the Actions tab or by creating a GitHub Release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_executor-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_executor-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file mcp_executor-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_executor-0.1.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.0

File hashes

Hashes for mcp_executor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e6b83fdf5fdc350468b257f1d161677ff40764a6e47902ff15208040eb02ac6f
MD5 6bbbc59574a4b90e2d648a4308fc5970
BLAKE2b-256 10b3b9520ac2afe38bc46e9e8c4261ab7bacb8e0f9b225c1ebeb862cc80f846b

See more details on using hashes here.

File details

Details for the file mcp_executor-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_executor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9ed22a1940e63f1bb8c32a11691554b590a3997a3350d1c694d6706830ba5c7
MD5 bf0ccd06421f2dc46042c0434c6ce6cf
BLAKE2b-256 4fd8c4ab49c633ba1d9b6b05242855e640fbc5fb4e97405f37b115ce1f50222a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page