LabscoMCP early access ↗
TimandesMCP SERVER

HTTP API MCP Gateway

Turn HTTP APIs you already have into MCP tools by describing them in a YAML file.

by Timandes ↗API Specifications & HTTP ToolingCommunity

LABSCO SUMMARY

The tool list is yours to write.

There is no fixed set of capabilities here — what an agent sees is exactly what you put in config.yaml, which makes this useful for internal APIs nobody is going to publish a server for. The cost is that quality is on you: an argument with a vague description is a tool the model will call wrongly.

What it is

A Python gateway that reads a config.yaml and exposes every entry in its tools list as an MCP tool. Each entry declares a name, a description and its arguments, a requestTemplate that maps the call onto an HTTP request, and a responseTemplate that formats the reply.

What you get

  • Any HTTP endpoint reachable as a tool, with URL, method and headers built from templates that interpolate {{.args.address}} and {{.config.apiKey}}
  • Argument definitions the model sees — name, description, and whether it is required — so a tool is described without writing code
  • Response formatting: the raw HTTP body rendered through a template into the text the model reads
  • A choice of transport: SSE by default, or --transport=stdio for clients that launch the process themselves

Requirements

No account and no key of its own — credentials for the target API go in the YAML config block and are referenced from the templates. Copy config.example.yaml to config.yaml and map your endpoints. Launch with uv run mcp-gateway; SSE listens on 3001 unless --port= says otherwise.

Setup effort

Build from source — git clone https://github.com/Timandes/mcp-gateway.git