iRODS MCP 服务器
iRODS MCP服务器提供了对iRODS中数据的访问。此项目仅包含AI Verde数据存储MCP服务器中与iRODS相关的公开代码部分。
执行模式
iRODS MCP服务器可以在MCP客户端机器上通过Docker以STDIO模式运行。
iRODS MCP服务器也可以在专用服务器上运行,以支持多个客户端用户。在这种情况下,服务器同时支持(多种功能/操作,根据上下文具体补充) HTTP/SSE 并且 Streamable-HTTP.
在运行Docker的MCP客户端机器上运行(与Claude Desktop一起)
编辑 ~/.config/Claude/claude_desktop_config.json 文件。
编辑完成后,重启Claude桌面应用以应用更改。
a. 使用匿名访问
这种配置仅允许访问位于(某处)的公共数据 /iplant/home/shared。
{
"mcpServers": {
"irods": {
"command": "docker",
"args": [
"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"
]
}
}
}b. 使用iRODS账户
此配置允许访问您的iRODS主目录(//home/)以及公共数据。替换为 irods_username 并且 irods_password 使用您真实的凭据。
{
"mcpServers": {
"irods": {
"command": "docker",
"args": [
"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",
"-e",
"IRODS_USER_NAME=irods_username",
"-e",
"IRODS_USER_PASSWORD=irods_password",
"cyverse/irods-mcp-server"
]
}
}
}作为服务器运行
创建一个名为 config.yaml 并添加以下内容:
remote: true
service_url: http://:8080
background: false
debug: true
log_path: ./irods-mcp-server.log
irods_host: data.cyverse.org
irods_port: 1247
irods_zone_name: iplant
irods_user_name: anonymous
irods_user_password:
irods_proxy_auth: false
irods_shared_dir_name: shared
irods_webdav_url: https://data.cyverse.org/dav/采用此配置,服务器:
- 监听传入连接 端口8080
- 支持两者 HTTP/SSE(服务器发送事件) 并且 Streamable-HTTP 可以翻译为“可流式传输的HTTP”或“支持流式传输的HTTP”。这里,“Streamable”表示可以流式传输,“HTTP”即超文本传输协议 请求:
- 将所有日志(包括调试信息)保存到一个名为
irods-mcp-server.log - 连接到iRODS主机
data.cyverse.org和端口1247 - 用途
anonymous默认访问 - 不允许代理认证
- 用途
iplant作为区域名称和/iplant/home/shared作为一个公共共享文件夹 - 用途
https://data.cyverse.org/dav/作为文件访问中WebDAV URL生成的根路径
使用以下命令运行iRODS MCP服务器可执行文件:
irods-mcp-server -c config.yaml一旦启动,服务器将提供两个端点:
- HTTP/SSE 的终端点 URL:
http://localhost:8080/sse - Streamable-HTTP服务的终端URL:
http://localhost:8080/mcp
a. 配置VS Code以实现匿名访问
编辑 ~/.config/Code/User/mcp.json 文件。
此配置仅允许访问位于(某处)的公共数据 //home/shared 或者 //home/public.
替换URL http://localhost:8080/mcp 与您实际运行iRODS MCP服务器的那台机器上的配置一致。
{
"servers": {
"irods": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}a. 为iRODS账户设置VS Code
从您的iRODS帐户创建一个密钥。
使用您的CyVerse用户名(例如。, foo(用户名)和密码(例如。, mypassword) 用冒号分隔 (:在下面的命令中:
echo -n "foo:mypassword" | base64生成的密钥将显示在终端中。
编辑 ~/.config/Code/User/mcp.json 文件。
此配置允许您访问您的iRODS主目录(//home/) 加上公开数据。
替换URL http://localhost:8080/mcp 与您实际运行 iRODS MCP 服务器的那台机器进行比较。
更换钥匙 YOUR_BASE64_KEY 使用从您的iRODS凭据中创建的实际密钥。您的密钥必须在(操作/步骤)之后提供 Basic (包括空格)。
{
"servers": {
"irods": {
"type": "http",
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Basic YOUR_BASE64_KEY"
}
}
}
}