1. Conduid
  2. Documentation
  3. Toolregistry Server
MCP server · Documentation

Toolregistry Server

Server library for ToolRegistry - OpenAPI and MCP protocol adapters

Unclaimed docs
34Low

Scored 6 months ago · breakdown

About Toolregistry Server

Toolregistry Server is an MCP server in the Documentation category: server library for ToolRegistry - OpenAPI and MCP protocol adapters.

Install

From source
git clone https://github.com/Oaklight/toolregistry-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Toolregistry Server

Powered by Claude · Grounded in docs

I know everything about Toolregistry Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

toolregistry-server

PyPI version CI

Define custom tools and serve them via OpenAPI or MCP interfaces. Built on ToolRegistry.

Overview

toolregistry-server lets you register Python functions as tools and expose them as services through multiple protocols. It provides:

  • Central Route Table: A unified routing layer that bridges ToolRegistry and protocol adapters
  • OpenAPI Adapter: Expose tools as RESTful HTTP endpoints with automatic OpenAPI schema generation
  • MCP Adapter: Expose tools via the Model Context Protocol for LLM integration
  • Authentication: Built-in Bearer token authentication support
  • CLI: Command-line interface for running servers

Ecosystem

The ToolRegistry ecosystem consists of three packages:

Package Description Repository
toolregistry Core library - Tool model, ToolRegistry, client integration Oaklight/ToolRegistry
toolregistry-server Tool server - define tools and serve via OpenAPI/MCP Oaklight/toolregistry-server
toolregistry-hub Tool collection - Built-in tools, default server configuration Oaklight/toolregistry-hub
toolregistry (core)
       ↓
toolregistry-server (tool server)
       ↓
toolregistry-hub (tool collection + server config)

Installation

Basic Installation

pip install toolregistry-server

With OpenAPI Support

pip install toolregistry-server[openapi]

With MCP Support

pip install toolregistry-server[mcp]

Full Installation

pip install toolregistry-server[all]

Quick Start

Using RouteTable

from toolregistry import ToolRegistry
from toolregistry_server import RouteTable

# Create a registry and register tools
registry = ToolRegistry()

@registry.register
def greet(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

# Create a route table
route_table = RouteTable(registry)

# List all routes
for route in route_table.list_routes():
    print(f"{route.path} -> {route.tool_name}")

Creating an OpenAPI Server

from toolregistry import ToolRegistry
from toolregistry_server import RouteTable
from toolregistry_server.openapi import create_openapi_app

# Setup registry and route table
registry = ToolRegistry()
# ... register tools ...
route_table = RouteTable(registry)

# Create FastAPI app
app = create_openapi_app(route_table)

# Run with uvicorn
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

Creating an MCP Server

from toolregistry import ToolRegistry
from toolregistry_server import RouteTable
from toolregistry_server.mcp import create_mcp_server

# Setup registry and route table
registry = ToolRegistry()
# ... register tools ...
route_table = RouteTable(registry)

# Create MCP server
server = create_mcp_server(route_table)

# Run the server
if __name__ == "__main__":
    import asyncio
    asyncio.run(server.run())

Using the CLI

# Start OpenAPI server
toolregistry-server --mode openapi --port 8000

# Start MCP server (stdio)
toolregistry-server --mode mcp

# With authentication
toolregistry-server --mode openapi --auth-token "your-secret-token"

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      ToolRegistry                           │
│                   (tool definitions)                        │
└─────────────────────────┬───────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│                       RouteTable                            │
│              (central routing layer)                        │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │ RouteEntry  │  │ RouteEntry  │  │ RouteEntry  │  ...    │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────┬───────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ OpenAPI Adapter │ │   MCP Adapter   │ │  gRPC Adapter   │
│   (FastAPI)     │ │   (MCP SDK)     │ │    (future)     │
└─────────────────┘ └─────────────────┘ └─────────────────┘
          │               │               │
          ▼               ▼               ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│  HTTP Clients   │ │   MCP Clients   │ │  gRPC Clients   │
└─────────────────┘ └─────────────────┘ └─────────────────┘

Documentation

Contributing

Contributions are welcome! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Related Projects

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Toolregistry Server

How do I install Toolregistry Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Toolregistry Server safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Toolregistry Server still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.