Skip to main content

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 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 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:

  1. Visit protocols.io/developer
  2. Sign in to your account
  3. Go to API clients section and add a new client
  4. 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

protocols_io_mcp-1.0.0.tar.gz (87.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

protocols_io_mcp-1.0.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for protocols_io_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 62234d93480bf3693ca13ea197c1557ed4c4328493b91145e257bc8bd1b126d2
MD5 88289b3d87263fbd5bffd789fe13bd3c
BLAKE2b-256 ca07037f105c401e86081a45260ca8f5d2a09e929f0c52187d4d8bba933d3594

See more details on using hashes here.

File details

Details for the file protocols_io_mcp-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for protocols_io_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76a5ce61aa58c65d6aaf72c5e7b9040ba90010932f247538504c04420a545abf
MD5 1f07c3137c382019006629d9a433d6dd
BLAKE2b-256 ca53795b7ec90fafb330e311396aba4b79dc5552184eda9215879651426bf07a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page