internal-tools
Click on "Deploy 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., "@internal-toolsshow me the latest build metrics"
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.
internal-tools MCP server (MVP)
One hosted MCP server that maps internal API endpoints to agent tools, generated
from OpenAPI specs via FastMCP from_openapi(). No
per-agent tool wrappers, no duplicated work across repos.
For the MVP it fronts a mock "build-metrics" FastAPI service in this repo; swap
API_BASE_URL to point at a real internal service.
Run
uv sync
# terminal 1 — mock backend (port 8000)
uv run uvicorn mock_api.main:app --port 8000
# terminal 2 — MCP server (port 8001)
uv run python mcp_server/server.pyThe MCP endpoint is http://localhost:8001/mcp (streamable HTTP).
Related MCP server: Company API MCP Server
Connect an agent
Claude Code (this repo already has .mcp.json):
{
"mcpServers": {
"internal-tools": { "type": "http", "url": "http://localhost:8001/mcp" }
}
}For a team deployment, host mcp_server/server.py on an internal box and point
the URL there — every agent gets the same toolset from one place.
Point at a real service
API_BASE_URL=https://your-service.internal uv run python mcp_server/server.pyRequirements on the backend:
serves its OpenAPI spec at
/openapi.json(FastAPI does this out of the box; for non-FastAPI services, hand-write a minimal spec and load it from a file)good
operation_ids and endpoint docstrings — they become tool names and descriptions, which is what the agent reasons over
Auth: add headers to the httpx client in mcp_server/server.py, e.g.
httpx.AsyncClient(base_url=..., headers={"Authorization": f"Bearer {token}"}).
Curating the toolset
route_maps in mcp_server/server.py controls what gets exposed. The MVP
excludes /admin/* and anything tagged internal; everything else becomes a
tool. Add RouteMap entries (regex, HTTP method, or tag based) to include or
exclude endpoints as the toolset grows.
Adding more backends later
The goal is one server, many services: fetch each service's spec, build a
FastMCP.from_openapi() server for it, and mcp.mount(other, prefix="svc")
them onto the main server so tools stay namespaced.
This server cannot be deployed
Maintenance
Related MCP Connectors
Point Gecko at an OpenAPI spec; get first-call-correct, auth-hidden agent tools.
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Verified, pay-per-use API tools for AI agents through one authenticated connection.
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to dynamically discover and interact with APIs through Swagger/OpenAPI specifications and Postman collections using a strategic four-tool approach. It streamlines API integration by providing universal tools for endpoint discovery, detailed request information, and authenticated execution.1-
- FlicenseNot gradedqualityCmaintenanceExposes internal company services as LLM-callable MCP tools, enabling AI agents to perform business operations like customer management, order processing, and support ticketing through natural language.-
- AlicenseNot gradedqualityBmaintenanceAn OpenAPI-driven MCP agent hub that dynamically generates MCP tools from Swagger/OpenAPI specs, enabling conversational interaction with backend APIs through natural language.14Apache 2.0
- AlicenseAqualityBmaintenanceExposes OpenAPI/Swagger API documentation as MCP tools, enabling AI agents to search, inspect, and call API endpoints through natural language.513MIT