An MCP server that enables MCP clients like Claude Desktop to interact with data from protocols.io.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_hqn21_protocols_io_mcp-1.0.3.tar.gz.
File metadata
- Download URL: iflow_mcp_hqn21_protocols_io_mcp-1.0.3.tar.gz
- Upload date:
- Size: 99.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45d717d5834707727e40a321d9f0981b05072fc9e93f62c50ce5e9cd41b738db
|
|
| MD5 |
9d70d99fffcc107658e904b943840987
|
|
| BLAKE2b-256 |
6f2db5a4a7a7bd3628fb22dc30f4f5060475762612dd6864a8c74f940e89e589
|
File details
Details for the file iflow_mcp_hqn21_protocols_io_mcp-1.0.3-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_hqn21_protocols_io_mcp-1.0.3-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f16e8429bbe35be6cbabd961fe25f8142b840508c9c9566e9cc76e4a0b4cd50
|
|
| MD5 |
f62a11bec2e0f5d2a1c3b41dcf06e14f
|
|
| BLAKE2b-256 |
39ef95615c36a39aef40df541cf4b4fa74a3b81aae5a3f59d0c210a36f0038c0
|