fastmcp-endpoint-toolsets
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fastmcp-endpoint-toolsetsshow math tools"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FastMCP Endpoint Toolsets
Stop shipping one giant MCP tool surface to every agent.
The missing FastMCP starter for URL-scoped native MCP toolsets: one server, one port, many focused endpoints.
fastmcp-endpoint-toolsets gives you a clean packaging pattern for tool-bloat-free MCP servers: keep your tools in one FastMCP server, but expose each tool group through its own native MCP URL.
/mcp -> all tools
/json/mcp -> JSON tools only
/db/mcp -> database tools only
/docs/mcp -> documentation tools only
/text/mcp -> text tools only
/math/mcp -> math tools only
/time/mcp -> time tools onlyPoint an agent at /math/mcp and it sees only the math tools. Point it at /mcp and it sees everything. Same process, same port -- and every URL is native FastMCP Streamable HTTP. No proxy. No gateway. No fleet of tiny servers. No custom REST wrapper.
Why it matters
Once a server has 50+ tools, every agent gets all of them in its prompt -- context bloats, token cost climbs, and tool-selection accuracy drops. Endpoint Toolsets keep the deployment simple while keeping each agent's tool surface focused:
Focused context -- each agent loads only its toolset, not your entire catalog.
One deploy -- one server, one port, one container for all your tool code.
Zero extra infra -- nothing to run or secure between the agent and your tools.
Add a tool in ~5 lines -- drop a file in
tools/, register it once, and a new endpoint appears.
Related MCP server: nimble
How it's different
Every row below is a valid pattern. This project fills the gap in the bottom one.
Approach | Deploys / ports | Tool surface per agent | Extra moving parts |
One big FastMCP server | 1 | All tools, always | None |
FastMCP | 1 | All tools (name-prefixed) at one URL | None |
Tag filtering per client | 1 | Filtered, but configured client-side | None |
N separate MCP servers | N | Scoped | N processes / ports / containers |
MCP gateway / proxy | 1+ | Scoped, routes to external servers | A gateway to run and secure |
Endpoint Toolsets (this repo) | 1 | Scoped, per URL, server-side | None |
Scoping here is per-endpoint context isolation -- each group is its own FastMCP instance with its own tool registry. Everything runs in one process.
Quick start
cd fastmcp_endpoint_toolsets
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python server.pyOpen the dashboard at http://127.0.0.1:8001, or connect any MCP client:
http://127.0.0.1:8001/mcp # all tools
http://127.0.0.1:8001/json/mcp # json only
http://127.0.0.1:8001/math/mcp # math only
http://127.0.0.1:8001/text/mcp # text only
http://127.0.0.1:8001/time/mcp # time onlyPrefer containers? One image, one port, every endpoint behind it:
docker compose up --buildPodman:
podman build/podman runwork unchanged. Its default OCI format ignores theHEALTHCHECKline -- add--format dockertopodman buildto keep it.
Built-in dashboard
Dynamic UI to see existing tools!
http://127.0.0.1:8001 serves a zero-dependency web UI that reads /toolsets live and shows every endpoint, its tools, and its tags at a glance -- the fastest way to confirm exactly what each agent will see.
GET / -> this dashboard
GET /health -> health check
GET /toolsets -> JSON discovery of every endpoint + its toolsSee it in MCP Inspector
Want proof the scoping is real? With the server running:
npx @modelcontextprotocol/inspectorSet Transport to Streamable HTTP, connect to http://127.0.0.1:8001/json/mcp, and List Tools -- you'll see only the JSON tools. Switch the URL to /math/mcp and you'll see only math tools. Same server, same port -- a focused surface at every URL.
Full walkthrough in USAGE.md.
Add a toolset
# tools/docs_tools.py
from fastmcp import FastMCP
def register(mcp: FastMCP) -> None:
@mcp.tool()
def docs_search(query: str) -> list[str]:
"""Search docs."""
return [f"Result for {query}"]# registry.py -- add one entry to TOOLSETS
Toolset(name="docs", title="Docs Toolset",
description="Documentation search tools.",
tags=("docs", "search"), register=docs_tools.register),Restart the server and /docs/mcp is live. Full guide in USAGE.md.
What it is / isn't
It is: native endpoint toolsets from a single FastMCP server -- a clean base to fork, rename, and build your own MCP server on.
It isn't: an MCP proxy, an MCP gateway, a REST API in MCP clothing, or a bridge to external MCP servers. In-process, by design.
Documentation
USAGE.md -- mental model, MCP Inspector, Docker, project layout, adding toolsets
CONTRIBUTING.md -- dev setup, running tests, and how to contribute
License
MIT -- fork it, rename it, ship it.
Keywords: FastMCP endpoint toolsets, MCP endpoint toolsets, scoped MCP endpoints, per-agent MCP tools, grouped MCP tools, one server one port MCP, multi endpoint MCP server, native MCP tool groups, reduce MCP tool context, FastMCP Streamable HTTP, MCP server template, tool-bloat-free MCP.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceA proxy server that wraps existing MCP servers to significantly reduce token consumption by compressing tool descriptions into a two-step interface. It enables users to integrate extensive toolsets without exceeding context limits or incurring high API costs.106Apache 2.0
- Alicense-qualityDmaintenanceA token-efficient MCP server that reduces context window bloat by lazy loading tool descriptions and proxying calls through three simple tools, with a dashboard for managing connections.259MIT
- Alicense-qualityBmaintenanceEnterprise-grade dynamic MCP proxy that eliminates token bloat by lazy-loading tool schemas based on semantic intent, enabling efficient orchestration of multiple backend tools from a single endpoint.MIT
- Alicense-qualityCmaintenanceA proxy MCP server that manages multiple upstream MCP servers by grouping them and loading tool schemas on-demand, reducing LLM context usage.5,60051MIT
Related MCP Connectors
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/burri-ritvik/fastmcp-endpoint-toolsets'
If you have feedback or need assistance with the MCP directory API, please join our Discord server