curl -X POST https://api.mcprank.com/v1/mcp/tools/list \
-H "X-API-Key: sk_mcp_rank_..." \
-H "Content-Type: application/json" \
-d '{"server_id": "ai.exa/exa"}'
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
"https://api.mcprank.com/v1/mcp/tools/list",
headers={"X-API-Key": "sk_mcp_rank_..."},
json={"server_id": "ai.exa/exa"}
)
tools = response.json()["tools"]
for tool in tools:
print(f"{tool['name']}: {tool['description']}")
{
"tools": [
{
"name": "web_search",
"description": "Search the web using Exa's neural search engine",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"numResults": {
"type": "integer",
"description": "Number of results to return",
"default": 10
}
},
"required": ["query"]
}
},
{
"name": "find_similar",
"description": "Find pages similar to a given URL",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to find similar pages for"
}
},
"required": ["url"]
}
}
]
}
MCP Server Proxy
List Tools
List tools available on an MCP server
POST
/
v1
/
mcp
/
tools
/
list
curl -X POST https://api.mcprank.com/v1/mcp/tools/list \
-H "X-API-Key: sk_mcp_rank_..." \
-H "Content-Type: application/json" \
-d '{"server_id": "ai.exa/exa"}'
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
"https://api.mcprank.com/v1/mcp/tools/list",
headers={"X-API-Key": "sk_mcp_rank_..."},
json={"server_id": "ai.exa/exa"}
)
tools = response.json()["tools"]
for tool in tools:
print(f"{tool['name']}: {tool['description']}")
{
"tools": [
{
"name": "web_search",
"description": "Search the web using Exa's neural search engine",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"numResults": {
"type": "integer",
"description": "Number of results to return",
"default": 10
}
},
"required": ["query"]
}
},
{
"name": "find_similar",
"description": "Find pages similar to a given URL",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to find similar pages for"
}
},
"required": ["url"]
}
}
]
}
List Tools
List all tools available on an MCP server. This is a convenience wrapper around the generic/mcp/call endpoint.
Request
curl -X POST https://api.mcprank.com/v1/mcp/tools/list \
-H "X-API-Key: sk_mcp_rank_..." \
-H "Content-Type: application/json" \
-d '{"server_id": "ai.exa/exa"}'
Headers
Your MCP Rank API key
Body Parameters
The MCP Rank server ID
Response
List of available tools
| Field | Type | Description |
|---|---|---|
name | string | Tool identifier |
description | string | What the tool does |
inputSchema | object | JSON Schema for tool arguments |
curl -X POST https://api.mcprank.com/v1/mcp/tools/list \
-H "X-API-Key: sk_mcp_rank_..." \
-H "Content-Type: application/json" \
-d '{"server_id": "ai.exa/exa"}'
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
"https://api.mcprank.com/v1/mcp/tools/list",
headers={"X-API-Key": "sk_mcp_rank_..."},
json={"server_id": "ai.exa/exa"}
)
tools = response.json()["tools"]
for tool in tools:
print(f"{tool['name']}: {tool['description']}")
{
"tools": [
{
"name": "web_search",
"description": "Search the web using Exa's neural search engine",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"numResults": {
"type": "integer",
"description": "Number of results to return",
"default": 10
}
},
"required": ["query"]
}
},
{
"name": "find_similar",
"description": "Find pages similar to a given URL",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to find similar pages for"
}
},
"required": ["url"]
}
}
]
}
Error Responses
| Status Code | Description |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Server not found |
| 410 | Server is no longer active |
| 429 | Rate limit exceeded |
| 502 | MCP server error |
⌘I