Get the FREE Ultimate OpenClaw Setup Guide →

irods

iRODS MCP Server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio cyverse-irods-mcp-server docker run -i --rm -e IRODS_MCP_SVR_IRODS_SHARED_DIR_NAME=shared -e IRODS_HOST=data.cyverse.org -e IRODS_PORT=1247 -e IRODS_ZONE_NAME=iplant cyverse/irods-mcp-server

How to use

This MCP server exposes access to data stored in iRODS via two interfaces when running in server mode: HTTP/SSE for streaming-style requests and a Streamable-HTTP endpoint for large, chunked transfers. When running on a client machine using Docker, you can start the server with the appropriate environment variables to connect to the iRODS instance (either anonymous/public data or a user account). The anonymous configuration maps to the public shared directory, while the authenticated configuration uses your iRODS credentials to give access to your home directory in addition to public data. After starting the container, you can connect to the server's endpoints to query, browse, or stream files through the MCP server’s API. Use http://localhost:8080/sse for HTTP/SSE and http://localhost:8080/mcp for Streamable-HTTP, depending on how you configure and deploy the server.

How to install

Prerequisites:

  • Docker installed and running on the host where you will run the MCP server.
  • Access to an iRODS instance (host, port, zone) as described in the README.

Install steps:

  1. Ensure Docker is installed and you can run docker commands without sudo if desired.
  2. Pick your deployment mode:
    • Anonymous client access (public data only) – use the anon Docker run command.
    • Authenticated access – use the authenticated Docker run command and replace irods_username/irods_password with your credentials.
  3. Run the container with the appropriate environment variables. For anonymous access: docker run -i --rm
    -e IRODS_MCP_SVR_IRODS_SHARED_DIR_NAME=shared
    -e IRODS_HOST=data.cyverse.org
    -e IRODS_PORT=1247
    -e IRODS_ZONE_NAME=iplant
    cyverse/irods-mcp-server
  4. Verify the server starts and exposes the endpoints:
  5. To use a proper server config file, you can generate a YAML/JSON config and invoke the server binary with -c config.yaml (as shown in the README) when running in server mode.

Additional notes

Tips and notes:

  • The anonymous and authenticated configurations share the same image cyverse/irods-mcp-server; the difference is the environment variables supplied to Docker.
  • When running in a dedicated server environment, you may prefer the server mode with a config.yaml file (remote: true, service_url, etc.) as described in the README for consistent behavior across clients.
  • Ensure the iRODS host and port are reachable from the MCP server’s host, and that the zone name matches your iRODS configuration.
  • If you plan to expose the MCP server publicly, consider securing the endpoints and using proper authentication on the client connections.
  • Logs are written to irods-mcp-server.log when using server mode with the provided config; in Docker mode, you may need to redirect logs to a mounted volume if needed.

Related MCP Servers

Sponsor this space

Reach thousands of developers