关于 OSF CLI Go
OSF CLI Go 是用于访问 Open Science Framework 项目、文件和学术元数据的 Go 命令行客户端。它还包含 `osf-mcp`,向 Agent 客户端提供结构化、只读的 OSF 工具。
主要功能
- 01查看 OSF 项目和组件
- 02浏览和传输 OSF 文件
- 03搜索 OSF 和预印本
- 04解析 OSF DOI 目标
- 05导出节点快照
- 06验证节点元数据
适用场景
- 01查看项目与组件详情
- 02下载 OSF 项目文件
- 03查找 OSF 文献或预印本
- 04导出项目快照用于研究
MCP 相关
`osf-mcp` 以 stdio 方式运行 MCP 服务,提供只读工具以访问 OSF 账户、项目、组件、文件、搜索、预印本和 DOI 解析。工具返回结构化 JSON,不执行写入操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e OSF_TOKEN -e OSF_USERNAME -e OSF_PASSWORD ghcr.io/edithatogo/osf-cli-go-osf-mcp:0.3.2OSF_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+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/edithatogo/osf-cli-go-osf-mcp:0.3.2stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
osf-cli-go
用于 Open Science Framework (OSF) 的 Go 命令行客户端。
功能
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 生态系统服务:
- pipeworx-io 的 OSF 连接器:用于托管式 OSF 连接。
- Paperclip:用于搜索多个提供方的学术资料和 OSF Preprints。
输出模式
所有命令都支持 --output table|json 和 --json 简写:
osf projects list --json
osf auth whoami --output json
项目状态
该 CLI 已通过离线测试,涵盖只读操作、文件下载、WaterButler 写入原语、搜索、预印本列表、草稿注册创建、项目创建/更新/删除操作以及节点导出。所有 Conductor 跟踪项均已依据各自的计划完成核对,并附有收尾审查证据;OSF 在线验证仍为可选,因为这需要凭据和网络访问权限。
文档
许可证
Apache 2.0 — 详见 LICENSE。
引用
如果您在研究中使用本软件,请使用 CITATION.cff 中的元数据引用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。