关于 SSTIM MCP: Senses, Stimuli and Perception
SSTIM MCP 是 SSTIM 感官、刺激与知觉词汇的只读参考服务,供研究者和 AI 助手查询发布版本中的术语、定义与关联。它也支持经审核后提交公开 GitHub 议题建议,但不会修改本体。
主要功能
- 01列出冻结版本
- 02按标签和定义搜索概念
- 03查询术语关系与来源
- 04起草并浏览贡献建议
- 05经授权提交 GitHub 议题
适用场景
- 01对齐数据字段与 SSTIM 术语
- 02比较不同版本的术语定义
- 03检查跨本体映射关系
- 04准备由人工审核的词汇修正
MCP 相关
该 MCP 服务向客户端提供 SSTIM 发布数据的查询工具,以及贡献建议和公开议题工作流。提交议题需要操作员明确启用并授权;工具不会写入 SSTIM 本体。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
SSTIM MCP:感官、刺激、感知与研究
状态: 版本 0.3.0 为只读知识工具新增了明确授权、由 GitHub 提供支持的贡献工作流。它支持当前的 MCP 2026-07-28 无状态协议以及基于旧版初始化流程的客户端(2025-11-25、2025-06-18、2024-11-05)。
该适配器从概念参考 API 获取冻结的 SSTIM 发布数据。它不是本体写入接口,也不是托管的远程 MCP 端点。 无需凭据即可使用四个知识工具。另外四个提案工具可起草建议、浏览 GitHub 审核议题,并且仅当经授权的操作员已配置具有 Issues 写入权限的令牌,且已批准确切的公开内容时,才会提交 GitHub 议题以供审核。 没有任何工具会更改规范 RDF,也不会将科学断言视为已确立事实。
发布与作者身份
主要作者及负责项目:SSTIM W3C 社区组。 规范源代码库为 w3c-cg/sstim。
**致谢:**感谢 BioSynCare 对 SSTIM 更广泛生态系统的贡献与支持。BioSynCare 并非开放 SSTIM 词汇表的权威机构。
社区组的工作并非 W3C 建议标准,也不是 W3C 背书的产品。
从 npm 安装(已发布)
**@sstim/[email protected] 已发布到 npm。**它在官方 MCP 注册表中以 io.github.w3c-cg/sstim 列出,并由规范的 W3C 社区组代码库通过 OIDC 注册。
使用 Node.js 20+ 和兼容的 stdio MCP 客户端,将 command 设为 npx,并将 arguments 设为 ["--yes", "@sstim/[email protected]"]。该服务无需检出代码库或 API 令牌。进行冒烟测试时,请在 packages/sstim-mcp/ 目录之外运行:npm 可能会在那里解析到本地软件包,而不是已发布的可执行文件。
cd /tmp
npx --yes @sstim/[email protected]
该命令会等待协议消息;在 MCP 客户端发送消息之前没有输出是正常的。为确保可复现性,请固定使用确切的 npm 版本。仅在开发时,才从检出的代码库运行 node packages/sstim-mcp/server.mjs。
发布与目录列表状态。 每个 npm 压缩包都是不可变的;之后对代码库文档所做的修改,只有在未来发布新版本时才会更新 npm 软件包的 README。
先决条件
- 运行 AI 客户端的机器上需安装 Node.js 20+。
- 仅在开发服务时需要检出 SSTIM 代码库。使用已发布的 npm 软件包无需检出。
- 可访问只读参考 API 的网络连接(默认值见下文)。
- 支持本地 stdio MCP 服务的 AI 客户端。
对于下方每个本地检出示例,请将
/absolute/path/to/sstim/packages/sstim-mcp/server.mjs 替换为此文件的实际绝对路径。在 Windows 上,请使用类似
C:/Users/you/sstim/packages/sstim-mcp/server.mjs 的路径,并确保启动该应用程序时 node 位于 PATH 中。
服务由 AI 客户端启动。手动运行时,它看起来会处于空闲状态,因为它在等待 stdin 上的 JSON-RPC 消息。它不得向 stdout 输出人类可读的日志。
AI 助手可以使用 SSTIM MCP 做什么?
如需包含 八个具体 AI 提示词、前提条件、工具用法和限制的实操教程,请参阅 SSTIM MCP 手册章节 和 MCP 示例指南。
以下示例适用于 Codex、Claude Code、GitHub Copilot、Cursor、 Gemini 和兼容的 Neovim 插件的用户。每项任务都结合了 AI 助手的 常规推理能力和项目访问权限,以及 只读的已发布 SSTIM 数据:
| 任务 | 可以提出的请求 | SSTIM MCP 提供的内容 |
|---|---|---|
| 代码/数据架构对齐 | “检查我的会话 JSON,并将频率、技术、通道和会话字段映射到 SSTIM” | 规范术语 IRI 及模块/发布版本来源信息;不会自动验证映射 |
| 研究术语审查 | “比较双耳和等时技术的含义,不要将刺激与 EEG 频段混为一谈” | 定义和相关概念链接 |
| 版本迁移 | “在 0.18.0 和 0.19.0 中检索这个确切的 IRI;报告明确断言的差异” | 固定版本的详细信息、弃用信息和映射 |
| 跨本体互操作 | “列出该术语的外部对齐关系,包括精确的 SKOS 关系” | 已映射的外部 IRI 及关系强度 |
| 代码库审计 | “查找代码中与已发布 SSTIM 属性匹配的字段;标记未知字段” | 稳定标识符;推断匹配项仍需人工审核 |
| 编写科学文档 | “解释这些术语并提供来源引用;区分证据与标签” | 已发布的定义、来源模块和哈希值 |
| 修正标准 | “查找这个术语或知识缺口,并生成一个链接供我提交更正” | 由用户审核的 Contribution Bridge 链接,而非提交内容 |
| 可重复研究 | “本方案中引用的所有 SSTIM 术语都仅使用 0.19.0 版本” | 带发布版本信息的记录,便于复现 |
这些 MCP 工具不会执行自动 SHACL 验证、执行刺激方案、诊断任何问题或修改本体。 如需验证数据,请使用 Python sstim 或 JavaScript @sstim/core; 如需探索或编写参考补丁,请使用 Workbench。
贡献工作流(自 0.3.0 起)
新增的 sstim_draft_contribution 工具会生成结构化、未经审核的问题提案,
并明确其认识论状态。sstim_list_contributions 和 sstim_get_contribution
用于检索公开问题记录及其实际状态。只有在操作员明确设置
SSTIM_ENABLE_PUBLIC_SUBMISSIONS=1、配置了具有相应 GitHub Issues 写入权限的
SSTIM_GITHUB_TOKEN,并且操作员审核确切提案后提供
approvedForPublicSubmission: true 时,sstim_submit_contribution 才会创建
公开 GitHub Issue。本地冷却机制和指纹扫描可减少意外重复提交。这并不意味着
可以在无人值守的情况下提交私人材料。
切勿将令牌放入插件清单或对话中。请使用宿主环境提供的凭据或环境管理机制; 本项目不附带 GitHub 凭据。贡献内容不会自动获采纳;GitHub Issue 已关闭 并不一定代表其中的科学断言已获采纳。
支持的提案类型:更正、缺失知识、科学证据、互操作性、研究需求和其他。 相关主题可能包括感觉转导、感知、基于声音或音乐的实践、神经科学、 创造性工作和技术应用。SSTIM 并非涵盖这些领域的综合百科全书;报告知识缺口同样有效。 来源由贡献者提供,必须经过独立评估。
工具
| 工具 | 结果 |
|---|---|
sstim_list_releases | 支持的冻结版本和最新可用版本 |
sstim_search_concepts | 按 IRI/CURIE、标签、替代名称或定义搜索术语 |
sstim_get_concept | 获取准确术语、定义、声明的关系和来源溯源信息 |
sstim_prepare_feedback | 面向用户的 Contribution Bridge 链接;不会提交任何内容 |
sstim_draft_contribution | 结构化的未审核提案文本;不会提交任何内容 |
sstim_list_contributions | 最近的公开贡献议题及其 GitHub 状态 |
sstim_get_contribution | 单个公开贡献议题、其未经验证的文本和状态 |
sstim_submit_contribution | 供审核的公开 GitHub 议题;除非运营者启用了提交功能,否则会拒绝 |
除 sstim_submit_contribution 外,所有工具均为只读;除非运营者按上述说明选择启用,否则该工具处于禁用状态。反馈工具只会生成一个包含所选公开概念 ID 和标签的链接,不会复制对话文本。用户会审核任何议题,并决定是否发布。没有任何工具会写入 SSTIM 本体。
配置软件
根据所用的 AI 客户端,选择一种合适的配置。它们不能互换。示例文件位于 examples/ 中。
1. VS Code:GitHub Copilot Chat(Agent 模式)
在你的项目中创建或更新 .vscode/mcp.json,使用
examples/vscode.mcp.json 中的内容:
{
"servers": {
"sstim": {
"type": "stdio",
"command": "npx",
"args": ["--yes", "@sstim/[email protected]"]
}
}
}
在 VS Code 中运行 MCP: List Servers(或在命令面板中使用 MCP 命令),启动 sstim,然后打开 GitHub Copilot Chat → Agent 模式,并在工具选择器中启用 SSTIM 工具。
这是 VS Code 的 servers 格式,不是 Cursor 和 Gemini 使用的 mcpServers 格式。VS Code 也可以使用便携式的项目根目录 .mcp.json,但其键名不同;请参阅其官方 MCP 配置。
2. VS Code:OpenAI Codex 扩展 / Codex CLI
Codex 的 IDE 扩展和 CLI 共用 ~/.codex/config.toml(或受支持的项目级 .codex/config.toml)。将
examples/codex.config.toml 中的内容附加到配置文件中:
[mcp_servers.sstim]
command = "npx"
args = ["--yes", "@sstim/[email protected]"]
或者通过 Codex IDE 扩展配置服务:
Settings → MCP servers → Add server → STDIO。如有提示,请重启扩展。在 CLI 中,codex mcp list 可以显示已配置的服务。此配置与 Copilot Chat 的 .vscode/mcp.json 相互独立。
参考:Codex MCP 配置。
3. VS Code:Claude Code 扩展 / Claude Code CLI
在终端中运行(使用与扩展相同的 Claude Code 安装):
claude mcp add --transport stdio --scope user sstim -- npx --yes @sstim/[email protected]
claude mcp get sstim
然后打开 Claude Code(CLI 或 VS Code 扩展),并查看 /mcp 菜单,确认服务已连接且工具可见。分隔符 -- 很重要:其后的参数属于 npx,而不是 Claude 的 CLI。若要为项目共享安装,而不是个人用户安装,请查看项目的 .mcp.json 和审批规则。
4. Gemini CLI(包括在 VS Code 终端中使用)
将以下内容添加到用户级 ~/.gemini/settings.json 或项目级
.gemini/settings.json:
{
"mcpServers": {
"sstim": {
"command": "npx",
"args": ["--yes", "@sstim/[email protected]"]
}
}
}
请参阅 examples/gemini.settings.json。
也可以使用:
gemini mcp add -s user sstim npx --yes @sstim/[email protected]
打开 Gemini CLI,并使用 /mcp 检查连接状态和已公开的工具。
Gemini CLI 与 Gemini Code Assist VS Code 扩展不是同一款产品。 此配置适用于 CLI;扩展是否支持,必须根据该扩展自身的设置进行确认。 参考:Gemini CLI MCP。
5. Cursor
创建项目级 .cursor/mcp.json,或全局的 ~/.cursor/mcp.json,
并填入 examples/cursor.mcp.json 的内容:
{
"mcpServers": {
"sstim": {
"command": "npx",
"args": ["--yes", "@sstim/[email protected]"]
}
}
}
打开 Cursor Settings → Tools & MCP,确认服务已连接。
请 Cursor Agent 使用 sstim_search_concepts。
参考:Cursor MCP 文档。
6. 使用 CodeCompanion.nvim 的 Neovim
仅安装 Neovim 并不会附带 AI/MCP 客户端。如果你使用
CodeCompanion.nvim,
请将以下内容添加到其设置中(或将 mcp 表整合到现有配置中):
require("codecompanion").setup({
mcp = {
servers = {
sstim = {
cmd = { "npx", "--yes", "@sstim/[email protected]" },
},
},
opts = {
default_servers = { "sstim" },
},
},
})
请参阅 examples/neovim-codecompanion.lua。
打开 CodeCompanion 聊天,并根据 CodeCompanion 版本,通过 @mcp: 工具组
或 /mcp 选择器使用 MCP 工具。该插件的 MCP 客户端目前支持较旧的
2025-11-25 握手协议,本服务仍接受此协议。
对于 经典版 Vim,不假定其内置 MCP 客户端。你可以在 Vim 内部或外部的终端中
使用上文的 Claude Code、Codex 或 Gemini CLI 配置;不要将 Neovim Lua 代码粘贴到传统的 .vimrc 中。
验证安装
配置好所选客户端后,请询问:
使用 SSTIM MCP 工具列出当前发布的版本,搜索 “binaural”,并使用其规范 IRI 和来源溯源信息解释一个匹配的概念。 如果适用,请比较 v0.18.0 和 v0.19.0 的结果。
Agent 可能会自动选择搜索工具,但是否调用工具取决于客户端设置和模型行为。你也可以在宿主的 MCP 面板中查看工具清单。
如需在此仓库内运行测试:
npm test -- --run packages/sstim-mcp/mcp.test.mjs
npm run check
npm run build
这些测试会检查模拟的 API 数据、新旧 MCP 握手协议、stdio 分帧以及编辑器配置示例语法。它们不能证明与所有列出的编辑器版本都兼容。
协议版本和限制
2026-07-28 是当前的 MCP 协议修订版。与通过
initialize / notifications/initialized 协商进程级会话的
2025-11-25 不同,新修订版使用逐请求元数据。此服务实现了这两种路径:
- 现代客户端:
server/discover会公布2026-07-28,无需initialize即可使用工具,并且每个请求都携带params._meta["io.modelcontextprotocol/protocolVersion"]和params._meta["io.modelcontextprotocol/clientCapabilities"]。 结果会声明resultType: "complete"和服务端身份元数据。 - **较旧的客户端:**继续使用旧版
initialize握手和旧版响应结构。支持此版本仍然很重要,因为实际安装的客户端中仍有不少使用该版本,包括一些 Neovim 插件。
新版修订版并不意味着服务必须是远程服务:stdio 仍是定义明确的传输方式。目前 SSTIM MCP 没有 Streamable HTTP 端点;远程 ChatGPT 连接器需要单独部署。
协议参考: MCP 2026-07-28 版本控制、 stdio 传输、 发现。
最新的冻结版来自 API 发现,而不是硬编码的运行时常量。更新时的版本为 v0.19.0;单独维护的开发版本线为 v0.20.0-dev。如需可重复的研究结果,请在工具参数中指定一个明确的冻结版。
**运行限制:**只读本体目录;最多返回 20 条搜索结果;不支持托管式 ?q= 搜索;无法进行实时本体推理、裁定科学争议,也无法保证临床含义。
默认参考 URL 为
https://w3c-cg.github.io/sstim/api/v1/。
操作人员可以使用 SSTIM_MCP_API_BASE 覆盖该 URL,并在测试时使用 HTTPS 或环回 HTTP。每个进程的缓存会将重复请求保留在本地,直到进程重启。输出会保留术语 IRI、版本标识和来源链接。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。