mcpField
O
OSF CLI Go

OSF CLI Go

本地服务
github.com/edithatogo科研与教育111 周前更新

关于 OSF CLI Go

OSF CLI Go 是用于访问 Open Science Framework 项目、文件和学术元数据的 Go 命令行客户端。它还包含 `osf-mcp`,向 Agent 客户端提供结构化、只读的 OSF 工具。

主要功能

  1. 01查看 OSF 项目和组件
  2. 02浏览和传输 OSF 文件
  3. 03搜索 OSF 和预印本
  4. 04解析 OSF DOI 目标
  5. 05导出节点快照
  6. 06验证节点元数据

适用场景

  1. 01查看项目与组件详情
  2. 02下载 OSF 项目文件
  3. 03查找 OSF 文献或预印本
  4. 04导出项目快照用于研究

MCP 相关

`osf-mcp` 以 stdio 方式运行 MCP 服务,提供只读工具以访问 OSF 账户、项目、组件、文件、搜索、预印本和 DOI 解析。工具返回结构化 JSON,不执行写入操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"edithatogo-osf-cli-go": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OSF_TOKEN",
"-e",
"OSF_USERNAME",
"-e",
"OSF_PASSWORD",
"ghcr.io/edithatogo/osf-cli-go-osf-mcp:0.3.2"
],
"env": {
"OSF_TOKEN": "<OSF_TOKEN>",
"OSF_USERNAME": "<OSF_USERNAME>",
"OSF_PASSWORD": "<OSF_PASSWORD>"
}
}
}
}
启动命令docker run -i --rm -e OSF_TOKEN -e OSF_USERNAME -e OSF_PASSWORD ghcr.io/edithatogo/osf-cli-go-osf-mcp:0.3.2
需要配置的环境变量
OSF_TOKEN密钥Preferred OSF personal access token.
OSF_USERNAME密钥Optional OSF username fallback when OSF_TOKEN is not provided.
OSF_PASSWORD密钥Optional OSF password fallback when OSF_TOKEN is not provided.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/edithatogo/osf-cli-go-osf-mcp:0.3.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

osf-cli-go

用于 Open Science Framework (OSF) 的 Go 命令行客户端。

CI Lint Security Go Reference License Go Version Release OSF CLI Go MCP 服务

功能

  • osf auth whoami — 查看已认证的 OSF 账户
  • osf auth login — 为使用用户名和密码的用户提供个人访问令牌引导设置
  • osf projects list|get — 列出并查看项目
  • osf components list — 列出项目组件
  • osf files list|download|upload|mkdir|rm — 浏览、下载、上传、创建文件夹以及删除 OSF Storage 文件
  • osf search、osf search --bibtex、osf preprints list|search 和 osf resolve — 搜索/导出 OSF 文献元数据、查找预印本,并解析 OSF DOI 目标地址
  • osf registrations create — 为现有节点创建注册草稿
  • osf export — 将节点快照导出为 JSON 或摘要表格
  • osf validate — 使用确定性的研究产出或预注册配置检查 OSF 节点元数据
  • osf-mcp — 通过标准输入/输出向 Agent 客户端提供只读 OSF 工具的 MCP 服务
  • osf completion bash|zsh|fish|powershell — Shell 补全脚本
  • JSON 和人类可读的输出模式
  • 安全、原子化的文件下载,并提供冲突处理策略(fail/skip/overwrite)

安装

要求:

  • Go 1.26 或更高版本
go install github.com/edithatogo/osf-cli-go/cmd/osf@latest
go install github.com/edithatogo/osf-cli-go/cmd/osf-mcp@latest

也可以从本地检出版本安装:

go build -o bin\osf.exe ./cmd/osf
go build -o bin\osf-mcp.exe ./cmd/osf-mcp
.\scripts\build.ps1

身份验证

在 Shell 会话中设置 OSF_TOKEN。请勿提交令牌或将其写入项目文件。OSF_USERNAME 和 OSF_PASSWORD 可作为可选的备用凭据来源,但对于自动化以及使用 SSO 或双重身份验证的账户,仍建议使用个人访问令牌。

$env:OSF_TOKEN = '<your-token>'

如需引导式令牌设置:

osf auth login

快速开始

osf --help
osf auth whoami
osf projects list
osf projects get https://osf.io/abc12/
osf components list abc12
osf files list abc12
osf files download --file <file-id> ./output/
osf files download --tree abc12 ./output/
osf files upload --node abc12 ./report.pdf
osf search "open science"
osf search "open science" --bibtex
osf preprints list
osf preprints search "open science" --provider osf
osf resolve 10.1234/example
osf registrations create abc12 --schema <schema-id> --title "Analysis plan"
osf export abc12 --json

MCP 服务

osf-mcp 运行一个 stdio MCP 服务,提供只读工具: osf_whoami、osf_projects_list、osf_project_get、 osf_components_list、osf_files_list、osf_contributors_list、 osf_search、osf_preprints_list、osf_preprints_search 和 osf_doi_resolve。

这些用于发现同等内容的工具具有明确的边界且行为确定:osf_search 要求查询非空,且接受 1 到 100 的限制值;osf_preprints_list 接受可选的提供方和相同范围的限制值。 osf_preprints_search 要求提供标题查询,接受可选的提供方,并以 1 到 100 的限制值返回发布日期、已发布状态、DOI 和 OSF HTML URL。这些工具通过 MCP 服务返回结构化 JSON,且绝不会执行写入操作。

OSF 搜索结果包含稳定 ID、标题、摘要、关键词、年份和 URL。 使用 osf search <query> --bibtex 可为文献综述工作流生成确定性的 BibTeX 记录。 该命令不会解析贡献者姓名,也不会自动下载 PDF。

对于 DataLad 工作流,OSF CLI Go 提供通用 OSF API 以及围绕数据集使用的安全文件原语,包括 osf export 和 osf files download --tree。它不会安装或配置 DataLad、Git 远程仓库或 git-annex 特殊远程仓库;这些集成仍属于单独界定的互操作范围。

包含适用于 GitHub Copilot、VS Code、Claude、 Codex、Gemini CLI 和 Qwen Code 的本地开发配置。公开注册表元数据位于 server.json 和 registry/ 中。

相关 MCP 服务

同一 Glama 产品组合中的其他维护中服务:

  • FYI MCP:用于信息公开申请工作流。
  • Healthpoint MCP:用于获取获得许可的医疗服务目录数据。
  • SourceRight:用于核验参考资料和引文。

相关 OSF 生态系统服务:

输出模式

所有命令都支持 --output table|json 和 --json 简写:

osf projects list --json
osf auth whoami --output json

项目状态

该 CLI 已通过离线测试,涵盖只读操作、文件下载、WaterButler 写入原语、搜索、预印本列表、草稿注册创建、项目创建/更新/删除操作以及节点导出。所有 Conductor 跟踪项均已依据各自的计划完成核对,并附有收尾审查证据;OSF 在线验证仍为可选,因为这需要凭据和网络访问权限。

文档

许可证

Apache 2.0 — 详见 LICENSE。

引用

如果您在研究中使用本软件,请使用 CITATION.cff 中的元数据引用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。