Skip to main content

Protocols.io MCP Server

A Model Context Protocol (MCP) server that enables MCP clients like Claude Desktop to interact with protocols.io, a popular platform for sharing scientific protocols and methods.

Available Tools

The server provides the following tools that can be used by MCP clients:

Search and Retrieval

  • search_public_protocols - Search for public protocols by keyword
  • get_protocol - Get basic protocol information by ID
  • get_protocol_steps - Get detailed steps for a specific protocol
  • get_my_protocols - Retrieve all protocols from your account

Protocol Creation and Management

  • create_protocol - Create a new protocol with title and description
  • update_protocol_title - Update the title of an existing protocol
  • update_protocol_description - Update the description of an existing protocol

Step Management

  • set_protocol_steps - Replace all steps in a protocol
  • add_protocol_step - Add a single step to the end of a protocol
  • delete_protocol_step - Delete a specific step from a protocol

Requirements

  • Python 3.10 or higher
  • protocols.io account with API credentials
  • MCP client (such as Claude Desktop)

Obtain Protocols.io API Credentials

  1. Visit protocols.io/developers
  2. Sign in to your account
  3. Navigate to the API Clients section
  4. Click ADD CLIENT to create a new application
  5. Configure and copy the credentials based on your use case:
    • Client Access Token: Copy the generated token for simple authentication (suitable for local STDIO transport)
    • Client ID and Client Secret: For OAuth 2.0 authentication (suitable for remote HTTP/SSE transport):
      • Set the redirect URL to {your_mcp_base_url}/auth/callback
      • Copy the Client ID and Client Secret

Installation

Quick Start with Docker

docker run -d -p 8000:8000 -e PROTOCOLS_IO_CLIENT_ID="your_client_id" -e PROTOCOLS_IO_CLIENT_SECRET="your_client_secret" -e PROTOCOLS_IO_MCP_BASE_URL="https://example.com" --name protocols-io-mcp --restart always ghcr.io/hqn21/protocols-io-mcp:latest

The server will be accessible at http://0.0.0.0:8000/mcp with HTTP transport

Install via pip

pip install protocols-io-mcp

Set Environment Variables

STDIO Transport
export PROTOCOLS_IO_CLIENT_ACCESS_TOKEN="your_client_access_token"
HTTP/SSE Transport
export PROTOCOLS_IO_CLIENT_ID="your_client_id"
export PROTOCOLS_IO_CLIENT_SECRET="your_client_secret"
export PROTOCOLS_IO_MCP_BASE_URL="https://example.com"

Usage

Command Line Interface

Run the MCP server with various transport options:

# Default: STDIO transport
protocols-io-mcp

# HTTP transport
protocols-io-mcp --transport http --host 127.0.0.1 --port 8000

# SSE transport
protocols-io-mcp --transport sse --host 127.0.0.1 --port 8000

CLI Options

Usage: protocols-io-mcp [OPTIONS]

  Run the protocols.io MCP server.
    
Options:
  --transport [stdio|http|sse]  Transport protocol to use [default: stdio]
  --host TEXT                   Host to bind to when using http and sse
                                transport [default: 127.0.0.1]
  --port INTEGER                Port to bind to when using http and sse
                                transport [default: 8000]
  --help                        Show this message and exit.

Integration with Claude Desktop

To use this server with Claude Desktop, add the following configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "protocols-io": {
      "command": "protocols-io-mcp",
      "env": {
        "PROTOCOLS_IO_CLIENT_ACCESS_TOKEN": "your_client_access_token"
      }
    }
  }
}

Troubleshooting

MCP protocols-io: spawn protocols-io-mcp ENOENT

This error indicates that Claude Desktop cannot find the protocols-io-mcp command. To resolve this:

  1. Make sure you have installed the protocols-io-mcp package globally using pip.
  2. Change the command field in your claude_desktop_config.json to the full path of the protocols-io-mcp executable. You can find the path by running:
    which protocols-io-mcp
    
  3. Your final configuration should look like:
    {
      "mcpServers": {
        "protocols-io": {
          "command": "/full/path/to/protocols-io-mcp",
          "env": {
            "PROTOCOLS_IO_CLIENT_ACCESS_TOKEN": "your_client_access_token"
          }
        }
      }
    }
    

Development

Running Tests

Ensure you have set the PROTOCOLS_IO_CLIENT_ACCESS_TOKEN environment variable, then run:

pytest

License

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

Metadata

Release files for protocols-io-mcp 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for protocols-io-mcp 1.0.3
File Size Uploaded
protocols_io_mcp-1.0.3.tar.gz 99.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for protocols-io-mcp 1.0.3
File Interpreter ABI Platform
protocols_io_mcp-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 110.0 kB

Release files / protocols_io_mcp-1.0.3.tar.gz

Download URL protocols_io_mcp-1.0.3.tar.gz
Size 99.0 kB
Tags Source
SHA-256 checksum
How to use checksums
15b4a7aa285179e78190a9af24cc5949b0f04ea973f752f7fef908f6fe39d368
BLAKE2b-256 checksum
How to use checksums
df5c462a5215e2b090979c5b42e47becf43bad21475750e9b7859a748e5a5f3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 14, 2026.

Transparency log

Release files / protocols_io_mcp-1.0.3-py3-none-any.whl

Download URL protocols_io_mcp-1.0.3-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31bc17affc520bf4d86c74fc01fb24a0ee7aa0aa2c84bbcd8e163382b8a2dc1e
BLAKE2b-256 checksum
How to use checksums
8b552bd72a79d827574e583cad2ce51c4c227af6d3946200969c7da873ba5380
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page