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
- Bump
versioninsidepyproject.toml. - Build and verify the artifacts:
uv build uv run python -m mcp_executor.cli --help
- 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"
- 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.
Metadata
Release files for mcp-executor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_executor-0.1.0.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_executor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.3 kB
Release files / mcp_executor-0.1.0.tar.gz
| Download URL | mcp_executor-0.1.0.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6b83fdf5fdc350468b257f1d161677ff40764a6e47902ff15208040eb02ac6f
|
|
BLAKE2b-256 checksum How to use checksums |
10b3b9520ac2afe38bc46e9e8c4261ab7bacb8e0f9b225c1ebeb862cc80f846b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.0
|
Release files / mcp_executor-0.1.0-py3-none-any.whl
| Download URL | mcp_executor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9ed22a1940e63f1bb8c32a11691554b590a3997a3350d1c694d6706830ba5c7
|
|
BLAKE2b-256 checksum How to use checksums |
4fd8c4ab49c633ba1d9b6b05242855e640fbc5fb4e97405f37b115ce1f50222a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.0
|