curl -X POST https://api.mcprank.com/v1/search \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"query": "send emails and manage calendar",
"limit": 5
}'
from mcp_rank import MCPRank
client = MCPRank(api_key="your-api-key")
results = await client.search("send emails and manage calendar", limit=5)
for server in results["servers"]:
print(f"{server['name']}: {server['description']}")
const response = await fetch("https://api.mcprank.com/v1/search", {
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "send emails and manage calendar",
limit: 5,
}),
});
const data = await response.json();
{
"servers": [
{
"id": "google-workspace",
"name": "Google Workspace",
"description": "Access Gmail, Calendar, Drive, and other Google services",
"remote_url": "https://mcp.google.com/workspace",
"tools": [
{
"name": "send_email",
"description": "Send an email via Gmail",
"input_schema": {
"type": "object",
"properties": {
"to": { "type": "string" },
"subject": { "type": "string" },
"body": { "type": "string" }
},
"required": ["to", "subject", "body"]
}
},
{
"name": "create_calendar_event",
"description": "Create a new calendar event",
"input_schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"start_time": { "type": "string" },
"end_time": { "type": "string" }
},
"required": ["title", "start_time"]
}
}
],
"scores": {
"semantic": 0.92,
"popularity": 0.85
},
"final_score": 0.89
}
],
"metadata": {
"latency_ms": 45,
"cache_hit": false,
"total_candidates": 492,
"query_log_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Search
Search Servers
Search for MCP servers matching a query
POST
/
v1
/
search
curl -X POST https://api.mcprank.com/v1/search \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"query": "send emails and manage calendar",
"limit": 5
}'
from mcp_rank import MCPRank
client = MCPRank(api_key="your-api-key")
results = await client.search("send emails and manage calendar", limit=5)
for server in results["servers"]:
print(f"{server['name']}: {server['description']}")
const response = await fetch("https://api.mcprank.com/v1/search", {
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "send emails and manage calendar",
limit: 5,
}),
});
const data = await response.json();
{
"servers": [
{
"id": "google-workspace",
"name": "Google Workspace",
"description": "Access Gmail, Calendar, Drive, and other Google services",
"remote_url": "https://mcp.google.com/workspace",
"tools": [
{
"name": "send_email",
"description": "Send an email via Gmail",
"input_schema": {
"type": "object",
"properties": {
"to": { "type": "string" },
"subject": { "type": "string" },
"body": { "type": "string" }
},
"required": ["to", "subject", "body"]
}
},
{
"name": "create_calendar_event",
"description": "Create a new calendar event",
"input_schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"start_time": { "type": "string" },
"end_time": { "type": "string" }
},
"required": ["title", "start_time"]
}
}
],
"scores": {
"semantic": 0.92,
"popularity": 0.85
},
"final_score": 0.89
}
],
"metadata": {
"latency_ms": 45,
"cache_hit": false,
"total_candidates": 492,
"query_log_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Overview
The search endpoint performs semantic search over 490+ MCP servers to find the most relevant tools for your query. Results are ranked using a combination of semantic similarity and popularity metrics.Request
string
required
The search query text. Minimum 1 character, maximum 1000 characters.
integer
default:"10"
Number of results to return. Minimum 1, maximum 50.
Headers
string
required
Your MCP Rank API key
Response
array
Array of matching servers, ranked by relevance
Show Server object
Show Server object
string
Unique server identifier
string
Server name
string
Server description
string
URL for connecting to the server via MCP
array
object
number
Combined ranking score
object
curl -X POST https://api.mcprank.com/v1/search \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"query": "send emails and manage calendar",
"limit": 5
}'
from mcp_rank import MCPRank
client = MCPRank(api_key="your-api-key")
results = await client.search("send emails and manage calendar", limit=5)
for server in results["servers"]:
print(f"{server['name']}: {server['description']}")
const response = await fetch("https://api.mcprank.com/v1/search", {
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "send emails and manage calendar",
limit: 5,
}),
});
const data = await response.json();
{
"servers": [
{
"id": "google-workspace",
"name": "Google Workspace",
"description": "Access Gmail, Calendar, Drive, and other Google services",
"remote_url": "https://mcp.google.com/workspace",
"tools": [
{
"name": "send_email",
"description": "Send an email via Gmail",
"input_schema": {
"type": "object",
"properties": {
"to": { "type": "string" },
"subject": { "type": "string" },
"body": { "type": "string" }
},
"required": ["to", "subject", "body"]
}
},
{
"name": "create_calendar_event",
"description": "Create a new calendar event",
"input_schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"start_time": { "type": "string" },
"end_time": { "type": "string" }
},
"required": ["title", "start_time"]
}
}
],
"scores": {
"semantic": 0.92,
"popularity": 0.85
},
"final_score": 0.89
}
],
"metadata": {
"latency_ms": 45,
"cache_hit": false,
"total_candidates": 492,
"query_log_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Error Responses
| Status Code | Description |
|---|---|
| 400 | Invalid request (e.g., query too long) |
| 401 | Missing or invalid API key |
| 429 | Rate limit exceeded |
| 500 | Internal server error |