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 keywordget_protocol- Get basic protocol information by IDget_protocol_steps- Get detailed steps for a specific protocolget_my_protocols- Retrieve all protocols from your account
Protocol Creation and Management
create_protocol- Create a new protocol with title and descriptionupdate_protocol_title- Update the title of an existing protocolupdate_protocol_description- Update the description of an existing protocol
Step Management
set_protocol_steps- Replace all steps in a protocoladd_protocol_step- Add a single step to the end of a protocoldelete_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
- Visit protocols.io/developers
- Sign in to your account
- Navigate to the API Clients section
- Click ADD CLIENT to create a new application
- 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
- Set the redirect URL to
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:
- Make sure you have installed the
protocols-io-mcppackage globally using pip. - Change the
commandfield in yourclaude_desktop_config.jsonto the full path of theprotocols-io-mcpexecutable. You can find the path by running:which protocols-io-mcp - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| protocols_io_mcp-1.0.3.tar.gz | 99.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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