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 term
  • options (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

Links