A
agoda-com/api-agent
Universal MCP server for GraphQL/REST APIs
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · 自动访问被拒(HTTP 429),状态未能确认
安装与配置
客户端配置(取自该仓库的安装命令)
{
"mcpServers": {
"agoda-com-api-agent": {
"command": "uvx",
"args": ["runs"]
}
}
}解析自我们于 2026-11-04 抓取的该仓库 README;我们未执行过。
command/args 来自仓库写明的安装命令;不确定时请以该项目 README 为准。
VS Code(.vscode/mcp.json —— 键名是 servers)
{
"servers": {
"agoda-com-api-agent": {
"command": "uvx",
"args": ["runs"]
}
}
}VS Code 顶层键是 <code>servers</code>,其余与上面那份相同。
Claude Code(命令行)
claude mcp add --transport stdio agoda-com-api-agent -- uvx runs
Claude Code 不收 JSON 文件,用这条命令直接加。
配置项的键名以你的客户端为准:客户端与 CLI
- 来源明细
- 收录自 abordage/awesome-mcp 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
- 收录与活跃
- 收录于 2026-11-05 · 最近见到 2026-11-14 · 共见到 10 次 · 被 10 个来源列出
- 评分构成
- 综合分 1,003 · 10 个来源 · mcp
- 安装
uvx runs
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
uvx runs。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
我们收录于 2026-11-05;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
# 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) |
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/agoda-com-api-agent/)
- 来源
- awesome · https://github.com/agoda-com/api-agent
- 按领域浏览
- MCP 服务
- 收录来源
- 10 个独立来源
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。