ToolSDK.ai LogoToolSDK.ai
Tutorials

Self-Hosting ToolSDK Registry

Learn how to deploy your own private ToolSDK MCP Registry and configure the SDK to use it.

Self-Hosting & Private Deployment

ToolSDK.ai supports self-hosted deployments of the ToolSDK MCP Registry, allowing you to maintain full control over your data and infrastructure.

1. 🚀 Quick Deployment

You can deploy the registry locally or on your own server using Docker.

1.1 Clone the Registry

git clone https://github.com/toolsdk-ai/toolsdk-mcp-registry.git
cd toolsdk-mcp-registry

1.2 Start with Docker Compose

Run the registry with a single command:

docker compose up -d

This will start:

  • Registry API: http://localhost:3003
  • Swagger Docs: http://localhost:3003/swagger
  • Search Engine: Meilisearch (internal)

2. 📡 SDK Configuration

To connect your AI agents or applications to your self-hosted registry, verify the baseURL configuration in the ToolSDKApiClient.

The SDK accepts a baseURL option in the constructor:

import { ToolSDKApiClient } from 'toolsdk/api';

const client = new ToolSDKApiClient({
  apiKey: 'dummy-key-for-local', // API key validation can be disabled or configured in your private instance
  baseURL: 'http://localhost:3003/api/v1' // Point to your self-hosted instance (The /api/v1 path is crucial)
});

// Now valid requests will go to your local registry
const tools = await client.package('github').getAISDKToolSet();

The toolsdk-mcp-registry docker container acts as the comprehensive backend service (Gateway) that processes API requests and executes tools. Pointing baseURL to its exposed API endpoint (e.g., http://localhost:3003/api/v1) is the correct configuration.

3. 🔒 Private Package Management

For enterprise environments, you might want to restrict which tools are available.

  1. Prune Packages: You can delete folders in the packages/ directory of the registry repo to only keep the tools you trust.
  2. Private Tools: Add your own internal tools to packages/private (or any custom category) following the Contributing Guide.

4. ⚙️ Advanced Configuration

Use .env file to configure your registry instance:

  • MCP_SANDBOX_PROVIDER: Set to LOCAL to disable external sandbox providers (default for quick start).
  • PORT: Change the listening port (default 3003).

For full configuration options, refer to the Development Guide in the repository.

Self-Hosting ToolSDK Registry | ToolSDK