A
agoda-com/api-agent
Universal MCP server for GraphQL/REST APIs
View on GitHub ↗Link checked 2026-11-12 · automated check blocked (HTTP 429), status unconfirmed
Install & config
Client config (built from the install command this repo gives)
{
"mcpServers": {
"agoda-com-api-agent": {
"command": "uvx",
"args": ["runs"]
}
}
}Parsed from the README we fetched on 2026-11-04; we have not executed it.
command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
"servers": {
"agoda-com-api-agent": {
"command": "uvx",
"args": ["runs"]
}
}
}Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio agoda-com-api-agent -- uvx runs
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
- Source
- collected from the abordage/awesome-mcp list · type: MCP server
- Harvest history
- first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
- Score
- score 1,003 · 10 sources · mcp
- Install
uvx runs
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
uvx runs. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.
# API Agent
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Turn any API into an MCP server. Query in English. Get results even when the API can't.
Point at any GraphQL or REST API. Ask questions in natural language. The agent fetches data, stores it in DuckDB, and runs SQL post-processing. Rankings, filters, and joins over returned data work even if the API doesn't support them.
## What Makes It Different
🎯 Zero config. No custom MCP code per API. Point at a GraphQL endpoint, OpenAPI 3.x spec, or Swagger 2.0 spec. The agent introspects/loads schema automatically.
✨ SQL post-processing. API returns 10,000 unsorted rows? Agent ranks top 10. No GROUP BY? Agent aggregates. Need to join returned tables? Agent combines. The API doesn't need to support it—the agent does.
🔒 Safe by default. Read-only. Mutations blocked unless explicitly allowed.
SQL runs sandboxed: no file, network, or extension access. REST calls stay under the API base URL; GraphQL allows only query operations. Recipes are scoped per target and credentials. Report vulnerabilities via SECURITY.md.
🧠 Recipe learning. Agent samples successful queries into reusable workflows. Ask once, reuse cached pipelines that execute without LLM reasoning. Learned recipes are exposed as tools named r .
## Quick Start
1. Run:
bash
# Direct run (no clone needed)
OPENAIAPIKEY=yourkey uvx --from git+https://github.com/agoda-com/api-agent api-agent
# Or clone
git clone https://github.com/agoda-com/api-agent.git && cd api-agent
uv sync --group dev
Set the OpenAI secret in env:
bash
export OPENAIAPIKEY=yourkey
Direct uvx runs use built-in defaults unless APIAGENTCONFIG points to a
TOML file. A cloned checkout uses api-agent.toml from the repository root by
default.
2. Start local clone:
bash
uv run api-agent
# Or Docker
docker build -t api-agent .
docker run -p 3000:3000 -e OPENAIAPIKEY=yourkey api-agent
3. Add to any MCP client:
json
"mcpServers": {
"rickandmorty": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://rickandmortyapi.com/graphql",
"X-API-Type": "graphql"
4. Ask questions:
"Show characters from Earth, only alive ones, group by species"
"Top 10 characters by episode count"
"Compare alive vs dead by species, only species with 10+ characters"
That's it. Agent introspects schema, generates calls, runs SQL post-processing.
## More Examples
REST API (Petstore):
json
"mcpServers": {
"petstore": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://petstore3.swagger.io/api/v3/openapi.json",
"X-API-Type": "rest"
Your own API with auth:
json
"mcpServers": {
"myapi": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://api.example.com/graphql",
"X-API-Type": "graphql",
"X-Target-Headers": "{\"Authorization\": \"Bearer YOURTOKEN\"}"
## Reference
### Headers
| Header | Required | Description |
| X-Target-URL | Yes | GraphQL endpoint OR OpenAPI/Swagger spec URL |
| X-API-Type | Yes | graphql or rest |
| X-Target-Headers | No | JSON auth headers, e.g. {"Authorization": "Bearer xxx"} |
| X-Passthrough-Headers| No | JSON array of header names to copy from this MCP request onto outbound API calls (merged after X-Target-Headers) |
| X-API-Name | No | Override tool name prefix (default: auto-generated) |
Point at any GraphQL or REST API. Ask questions in natural language. The agent fetches data, stores it in DuckDB, and runs SQL post-processing. Rankings, filters, and joins over returned data work even if the API doesn't support them.
## What Makes It Different
🎯 Zero config. No custom MCP code per API. Point at a GraphQL endpoint, OpenAPI 3.x spec, or Swagger 2.0 spec. The agent introspects/loads schema automatically.
✨ SQL post-processing. API returns 10,000 unsorted rows? Agent ranks top 10. No GROUP BY? Agent aggregates. Need to join returned tables? Agent combines. The API doesn't need to support it—the agent does.
🔒 Safe by default. Read-only. Mutations blocked unless explicitly allowed.
SQL runs sandboxed: no file, network, or extension access. REST calls stay under the API base URL; GraphQL allows only query operations. Recipes are scoped per target and credentials. Report vulnerabilities via SECURITY.md.
🧠 Recipe learning. Agent samples successful queries into reusable workflows. Ask once, reuse cached pipelines that execute without LLM reasoning. Learned recipes are exposed as tools named r .
## Quick Start
1. Run:
bash
# Direct run (no clone needed)
OPENAIAPIKEY=yourkey uvx --from git+https://github.com/agoda-com/api-agent api-agent
# Or clone
git clone https://github.com/agoda-com/api-agent.git && cd api-agent
uv sync --group dev
Set the OpenAI secret in env:
bash
export OPENAIAPIKEY=yourkey
Direct uvx runs use built-in defaults unless APIAGENTCONFIG points to a
TOML file. A cloned checkout uses api-agent.toml from the repository root by
default.
2. Start local clone:
bash
uv run api-agent
# Or Docker
docker build -t api-agent .
docker run -p 3000:3000 -e OPENAIAPIKEY=yourkey api-agent
3. Add to any MCP client:
json
"mcpServers": {
"rickandmorty": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://rickandmortyapi.com/graphql",
"X-API-Type": "graphql"
4. Ask questions:
"Show characters from Earth, only alive ones, group by species"
"Top 10 characters by episode count"
"Compare alive vs dead by species, only species with 10+ characters"
That's it. Agent introspects schema, generates calls, runs SQL post-processing.
## More Examples
REST API (Petstore):
json
"mcpServers": {
"petstore": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://petstore3.swagger.io/api/v3/openapi.json",
"X-API-Type": "rest"
Your own API with auth:
json
"mcpServers": {
"myapi": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-Target-URL": "https://api.example.com/graphql",
"X-API-Type": "graphql",
"X-Target-Headers": "{\"Authorization\": \"Bearer YOURTOKEN\"}"
## Reference
### Headers
| Header | Required | Description |
| X-Target-URL | Yes | GraphQL endpoint OR OpenAPI/Swagger spec URL |
| X-API-Type | Yes | graphql or rest |
| X-Target-Headers | No | JSON auth headers, e.g. {"Authorization": "Bearer xxx"} |
| X-Passthrough-Headers| No | JSON array of header names to copy from this MCP request onto outbound API calls (merged after X-Target-Headers) |
| X-API-Name | No | Override tool name prefix (default: auto-generated) |
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/agoda-com-api-agent/)
- Source
- awesome · https://github.com/agoda-com/api-agent
- Browse by field
- MCP servers
- Listed by
- 10 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.