MCPulse SDKs
Query MCPulse Community Reliability API programmatically with TypeScript or Python.
Use SDKs to: Check MCP server reliability scores, search for servers, compare uptime metrics, and find top-performing servers before integrating them into your application.
TypeScript/Node.js SDK mcpulse-sdk
Installation
npm install mcpulse-sdk
Quick Start
import { MCPulse } from 'mcpulse-sdk';
// Initialize client (no API key needed for public data)
const client = new MCPulse();
// Get reliability score for a server
const score = await client.getScore('mcp-server-github');
console.log(`Reliability: ${score.reliability_score}%`);
console.log(`Uptime: ${score.uptime_percentage}%`);
// Search for servers
const results = await client.search('weather');
results.servers.forEach(server => {
console.log(`${server.name}: ${server.reliability_score}% reliable`);
});
Configuration
const client = new MCPulse({
baseUrl: 'https://stacks.polsia.app', // Optional: custom base URL
timeout: 10000, // Optional: request timeout (ms)
retries: 3 // Optional: retry attempts
});
Error Handling
import { MCPulse, MCPulseError } from 'mcpulse-sdk';
try {
const score = await client.getScore('unknown-server');
} catch (error) {
if (error instanceof MCPulseError) {
console.error(`API Error: ${error.message} (${error.statusCode})`);
} else {
console.error('Network error:', error);
}
}
Python SDK mcpulse
Installation
pip install mcpulse
Quick Start
from mcpulse import MCPulse
# Initialize client (no API key needed for public data)
client = MCPulse()
# Get reliability score for a server
score = client.get_score('mcp-server-github')
print(f"Reliability: {score['reliability_score']}%")
print(f"Uptime: {score['uptime_percentage']}%")
# Search for servers
results = client.search('weather')
for server in results['servers']:
print(f"{server['name']}: {server['reliability_score']}% reliable")
Async Support
from mcpulse import AsyncMCPulse
import asyncio
async def check_servers():
async with AsyncMCPulse() as client:
score = await client.get_score('mcp-server-github')
print(f"Reliability: {score['reliability_score']}%")
asyncio.run(check_servers())
Configuration
client = MCPulse(
base_url='https://stacks.polsia.app', # Optional: custom base URL
timeout=10.0, # Optional: request timeout (seconds)
retries=3 # Optional: retry attempts
)
Error Handling
from mcpulse import MCPulse, MCPulseError
try:
score = client.get_score('unknown-server')
except MCPulseError as e:
print(f"API Error: {e.message} ({e.status_code})")
except Exception as e:
print(f"Network error: {e}")
Available Methods
getScore(serverName)
Get reliability metrics for a specific MCP server.
Parameters:
serverName(string) - Server identifier
Returns:
{
"reliability_score": 98.5,
"uptime_percentage": 99.8,
"avg_response_time": 145,
"error_rate": 0.2,
"last_24h_uptime": 100,
"health_checks_total": 1440
}
search(query, options)
Search for MCP servers by name or functionality.
Parameters:
query(string) - Search termoptions(object, optional) -{ limit: 10, minScore: 90 }
Returns:
{
"servers": [
{
"name": "weather-mcp",
"reliability_score": 97.3,
"uptime_percentage": 99.5,
"description": "Weather data integration"
}
],
"total": 5,
"query": "weather"
}
compare(serverNames)
Compare reliability metrics across multiple servers.
Parameters:
serverNames(array) - List of server identifiers
Example:
const comparison = await client.compare(['server-a', 'server-b']);
console.log(comparison.winner); // Server with highest reliability
topServers(limit)
Get the most reliable MCP servers.
Parameters:
limit(number, optional) - Max results (default: 10)
Example:
const top = await client.topServers(5);
top.servers.forEach((server, i) => {
console.log(`#${i+1}: ${server.name} (${server.reliability_score}%)`);
});
Requirements
TypeScript/Node.js
- Node.js โฅ 14.0.0
- Zero dependencies
- Browser compatible
- TypeScript types included
Python
- Python โฅ 3.7
- Stdlib only (no dependencies)
- Async support (optional)
- Type hints included