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 access token
- MCP client (such as Claude Desktop)
Installation
Install the package using pip:
pip install protocols-io-mcp
Configuration
Environment Variables
Before running the server or tests, you must set your protocols.io API access token:
export PROTOCOLS_IO_CLIENT_ACCESS_TOKEN="your_client_access_token"
To obtain an API token:
- Visit protocols.io/developer
- Sign in to your account
- Go to API clients section and add a new client
- Copy the generated client access token and set it in your environment
Usage
Command Line Interface
Run the MCP server with various transport options:
# Default: stdio transport (recommended for MCP clients)
protocols-io-mcp
# HTTP transport
protocols-io-mcp --transport http --host 127.0.0.1 --port 8000
# Server-Sent Events 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"
}
}
}
}
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
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 protocols_io_mcp-1.0.0.tar.gz.
File metadata
- Download URL: protocols_io_mcp-1.0.0.tar.gz
- Upload date:
- Size: 87.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62234d93480bf3693ca13ea197c1557ed4c4328493b91145e257bc8bd1b126d2
|
|
| MD5 |
88289b3d87263fbd5bffd789fe13bd3c
|
|
| BLAKE2b-256 |
ca07037f105c401e86081a45260ca8f5d2a09e929f0c52187d4d8bba933d3594
|
File details
Details for the file protocols_io_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: protocols_io_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76a5ce61aa58c65d6aaf72c5e7b9040ba90010932f247538504c04420a545abf
|
|
| MD5 |
1f07c3137c382019006629d9a433d6dd
|
|
| BLAKE2b-256 |
ca53795b7ec90fafb330e311396aba4b79dc5552184eda9215879651426bf07a
|