Run a FastMCP proxy that lists and invokes every MCP tool from the CLI or an HTTP server.
Project description
tools-executor
tools-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 tools-executor
or, if you prefer the uv toolchain:
uv tool install tools-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/tools-executor/mcp.json
Usage
List available tools and inspect their signatures:
tools-executor list -c ~/.config/tools-executor/mcp.json
Call a tool directly:
tools-executor call -c ~/.config/tools-executor/mcp.json weather --arg city="Lisbon"
Run the FastMCP server (HTTP by default):
tools-executor serve -c ~/.config/tools-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 tools-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 tools_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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tools_executor-0.1.0.tar.gz.
File metadata
- Download URL: tools_executor-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8274623de7d9645004fdd74e66b4a7723a6ae921cd21c735700e3b68318ee8cf
|
|
| MD5 |
1c19519f85d8352a39bc3a079a64cf96
|
|
| BLAKE2b-256 |
86587f4a2dbca3f7ef4b39cecdb7fba1f8bb9cb0a80e0499b3aa2aae5991c5e1
|
File details
Details for the file tools_executor-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tools_executor-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f51c6eb528e3ef4b316be231ab416c17c03888c0e9dfaf6fc0a254734176ff3
|
|
| MD5 |
9baf54cdffad83d97c94dd9154c469e4
|
|
| BLAKE2b-256 |
0210e14aeddf040c032d1eb18e8c7986b00c8735c70ee3fec1a89a02dc7a1817
|