Public API

ToolServers.ai API

Access our comprehensive directory of MCP servers programmatically. Free, no authentication required.

Quick Start
Get started with the ToolServers.ai API in seconds

Base URL

https://toolservers.ai/api/tools

Example Request

curl https://toolservers.ai/api/tools

Endpoints

Get All Tool Servers
GET
/api/tools

Query Parameters

categoryFilter by category (e.g., "Development", "Database", "Cloud Service")
featuredFilter featured servers (true/false)
officialFilter official servers (true/false)
protocolFilter by protocol (MCP, ACP, A2A, Other)
limitNumber of results to return
offsetNumber of results to skip (for pagination)

Example Request

curl "https://toolservers.ai/api/tools?category=Development&featured=true&limit=10"

Example Response

{
  "success": true,
  "data": [
    {
      "id": "filesystem-mcp",
      "name": "Filesystem MCP Server",
      "description": "Official MCP server for filesystem operations",
      "provider": "Anthropic",
      "classification": "Official",
      "category": "File System",
      "protocol": "MCP",
      "estimatedDownloads": 125000,
      "releaseDate": "2024-11-25",
      "githubStars": 69420,
      "githubUrl": "https://github.com/modelcontextprotocol/servers",
      "featured": true,
      "official": true,
      "tags": ["filesystem", "files", "official"],
      "version": "1.0.0",
      "license": "MIT",
      "documentation": "https://modelcontextprotocol.io/docs",
      "homepage": "https://modelcontextprotocol.io",
      "deploymentType": "Local",
      "containerized": false,
      "requiresAuth": false,
      "supportsStreaming": true,
      "securityFeatures": ["TLS/SSL"]
    }
  ],
  "count": 1,
  "source": "database"
}
Get Tool Server by ID
GET
/api/tools/[id]

Path Parameters

idThe unique identifier of the tool server

Example Request

curl https://toolservers.ai/api/tools/filesystem-mcp

Example Response

{
  "success": true,
  "data": {
    "id": "filesystem-mcp",
    "name": "Filesystem MCP Server",
    "description": "Official MCP server for filesystem operations",
    "provider": "Anthropic",
    "classification": "Official",
    "category": "File System",
    "protocol": "MCP",
    "estimatedDownloads": 125000,
    "releaseDate": "2024-11-25",
    "githubStars": 69420,
    "githubUrl": "https://github.com/modelcontextprotocol/servers",
    "featured": true,
    "official": true,
    "tags": ["filesystem", "files", "official"],
    "version": "1.0.0",
    "license": "MIT",
    "documentation": "https://modelcontextprotocol.io/docs",
    "homepage": "https://modelcontextprotocol.io",
    "deploymentType": "Local",
    "containerized": false,
    "requiresAuth": false,
    "supportsStreaming": true,
    "securityFeatures": ["TLS/SSL"]
  },
  "source": "database"
}
Response Schema
Understanding the tool server object structure
Field
Type
Description
idstringUnique identifier
namestringTool server name
descriptionstringDetailed description
providerstringProvider/organization name
classificationstringClassification type
categorystringPrimary category
protocolstringProtocol type (MCP, ACP, A2A, Other)
estimatedDownloadsnumberEstimated download count
releaseDatestringRelease date (ISO 8601)
githubStarsnumberGitHub star count
githubUrlstringGitHub repository URL
featuredbooleanFeatured status
officialbooleanOfficial status
tagsstring[]Array of tags
versionstringCurrent version
licensestringLicense type
documentationstring?Documentation URL (optional)
homepagestring?Homepage URL (optional)
deploymentTypestringDeployment type (Remote, Local, Hybrid)
containerizedbooleanContainerization support
requiresAuthbooleanAuthentication requirement
supportsStreamingbooleanStreaming support
securityFeaturesstring[]Array of security features
Rate Limits & Caching
API usage guidelines and performance optimization

Rate Limits

Currently, there are no rate limits on the API. However, we recommend implementing client-side caching to improve performance and reduce unnecessary requests.

Caching

API responses include cache headers for optimal performance:

  • /api/tools - Cached for 60 seconds
  • /api/tools/[id] - Cached for 5 minutes
Code Examples
Integration examples in popular languages

JavaScript / TypeScript

// Fetch all tool servers
const response = await fetch('https://toolservers.ai/api/tools');
const { data, count } = await response.json();

// Fetch featured servers
const featured = await fetch('https://toolservers.ai/api/tools?featured=true');
const { data: featuredServers } = await featured.json();

// Fetch specific server
const server = await fetch('https://toolservers.ai/api/tools/filesystem-mcp');
const { data: serverData } = await server.json();

Python

import requests

# Fetch all tool servers
response = requests.get('https://toolservers.ai/api/tools')
data = response.json()

# Fetch with filters
params = {'category': 'Development', 'featured': 'true'}
response = requests.get('https://toolservers.ai/api/tools', params=params)
servers = response.json()['data']

Go

package main

import (
    "encoding/json"
    "net/http"
)

type Response struct {
    Success bool        `json:"success"`
    Data    []ToolServer `json:"data"`
    Count   int         `json:"count"`
}

func getToolServers() (*Response, error) {
    resp, err := http.Get("https://toolservers.ai/api/tools")
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()
    
    var result Response
    err = json.NewDecoder(resp.Body).Decode(&result)
    return &result, err
}