SSTIM MCP: Sensory Stimulation Reference

io.github.w3c-cgv0.2.0更新於 Oct 10, 2026

SSTIM sensory-stimulation ontology: definitions, relationships, mappings and provenance.

已驗證STDIO僅桌面Developer ToolsKnowledge & Memory

概覽

AI 產生的概覽

唯讀查詢 SSTIM 感覺刺激本體術語、定義、關係與發布來源。

功能
透過 stdio 提供四個唯讀工具:sstim_list_releases 列出凍結版本與最新版本,sstim_search_concepts 依 IRI、CURIE、標籤、別名或定義搜尋術語,sstim_get_concept 取得術語定義、已宣告關係與來源資訊,sstim_prepare_feedback 產生需使用者自行審核的 Contribution Bridge 連結,不會送出任何內容。資料來自凍結的 SSTIM Concept Reference API,搜尋結果最多 20 筆,並有行程內快取。
適用情境
適合在助理需要標準 SSTIM 識別碼時使用,例如將程式碼或工作階段資料結構對齊到該詞彙集、審閱刺激相關術語、跨版本比較固定版本的術語,或查看外部本體對應。它不用於資料驗證、執行刺激方案、診斷或編輯本體。
執行需求
需要 Node.js 20 以上版本,以及支援本機 stdio MCP 伺服器的用戶端;已發布的 npm 套件不需取出原始碼、API 金鑰或額外執行階段套件。需要能連線唯讀參考 API,可用環境變數 SSTIM_MCP_API_BASE 覆寫其基礎網址。
安裝前請注意
四個工具皆為唯讀,不會寫入 SSTIM;回饋工具只產生連結,需使用者自行審核並發布。回傳的是已發布的參考資料,不提供自動 SHACL 驗證、臨床意義或科學爭議裁決,程式碼與術語的推斷對應需人工複核。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SSTIM MCP: Sensory Stimulation Reference,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

SSTIM MCP reference adapter

Status: local, read-only MCP server over stdio. Supports the current MCP 2026-07-28 stateless protocol and legacy initialization-based clients (2025-11-25, 2025-06-18, 2024-11-05).

The adapter retrieves frozen SSTIM release data from the Concept Reference API. It is not an ontology server, a write API, a hosted remote MCP endpoint, or a GitHub connector. Its four tools require no API key or additional runtime npm packages.

Distribution and authorship

Primary author and responsible project: the SSTIM W3C Community Group. The canonical source is w3c-cg/sstim.

Acknowledgement: BioSynCare, for its contributions to and support of SSTIM's wider ecosystem. BioSynCare is not the authority behind the open SSTIM vocabulary.

Community Group work is not a W3C Recommendation or a W3C-endorsed product.

Install from npm (published)

@sstim/[email protected] is published and has been successfully executed from npm. It is listed as io.github.w3c-cg/sstim in the official MCP Registry, registered by the canonical W3C Community Group repository via OIDC.

With Node.js 20+ and a compatible stdio MCP client, set command npx and arguments ["--yes", "@sstim/[email protected]"]. The server needs no checkout or API token. For a smoke test, run it outside packages/sstim-mcp/: npm may resolve the local package there instead of the published executable.

bash
cd /tmpnpx --yes @sstim/[email protected]

The command waits for protocol messages; silence is expected until the MCP client sends them. Pin the exact npm version for reproducibility. Run node packages/sstim-mcp/server.mjs from a checkout only for development.

Distribution and directory-listing status. The npm 0.2.0 tarball is immutable; subsequent repository documentation edits are reflected in npm's package README only with a future release.

Prerequisites

  • Node.js 20+ on the machine where the AI client runs.
  • SSTIM checkout only if developing the server. It is not needed for the published npm package.
  • Network access to the read-only reference API (default below).
  • An AI client with support for local stdio MCP servers.

For each local-checkout example below, replace /absolute/path/to/sstim/packages/sstim-mcp/server.mjs with the actual absolute path to this file. On Windows, use a path like C:/Users/you/sstim/packages/sstim-mcp/server.mjs and ensure node is in the launching application's PATH.

The server is launched by the AI client. Running it manually will appear idle because it waits for JSON-RPC messages on stdin. It must not emit human-readable logs to stdout.

What can an AI assistant do with SSTIM MCP?

For a hands-on tutorial with eight concrete AI prompts, prerequisites, tool usage and limits, see the SSTIM MCP manual chapter and the MCP examples cookbook.

Here are examples for users of Codex, Claude Code, GitHub Copilot, Cursor, Gemini and compatible Neovim plugins. Each task combines an AI assistant's ordinary reasoning and project access with read-only released SSTIM data:

TaskWhat to ask forWhat SSTIM MCP contributes
Code/data schema alignment"Inspect my session JSON and map frequency, technique, channels and session fields to SSTIM"Canonical term IRIs and module/release provenance; not an automatically validated mapping
Research terminology review"Compare meanings of binaural and isochronous techniques without conflating stimulation with EEG bands"Definitions and related concept links
Version migration"Retrieve this exact IRI in 0.18.0 and 0.19.0; report asserted differences"Version-pinned details, deprecation and mappings
Cross-ontology interoperability"List external alignments for this term, including the precise SKOS relation"Mapped external IRIs and relation strengths
Codebase audit"Find fields in my code matching published SSTIM properties; flag unknown ones"Stable identifiers; human review of inferred matches
Write scientific documentation"Explain these terms with source references; distinguish evidence from labels"Released definitions, source module and hashes
Correct the standard"Find this term or gap and prepare a link for me to submit a correction"A user-reviewed Contribution Bridge link, not a submission
Repeatable research"Use only release 0.19.0 for all SSTIM terms cited in this protocol"Release-qualified records for reproducibility

These four MCP tools do not perform automatic SHACL validation, execute a stimulation protocol, diagnose anything, or modify the ontology. Use Python sstim or JavaScript @sstim/core for data validation, and use the Workbench to explore or author reference patches.

Four available tools

ToolResult
sstim_list_releasesSupported frozen releases and latest available version
sstim_search_conceptsSearch terms by IRI/CURIE, labels, alternatives or definition
sstim_get_conceptRetrieve exact term, definitions, declared relationships, source provenance
sstim_prepare_feedbackUser-facing Contribution Bridge link; nothing is submitted

All four tools are read-only. The feedback tool generates only a link with the selected public concept ID and label, without copying conversation text. The user reviews any issue and decides whether to publish it. No writes to SSTIM occur through these tools.

Configure your software

Choose one configuration appropriate to the AI client in use. They are not interchangeable. Sample files are in examples/.

1. VS Code: GitHub Copilot Chat (Agent mode)

Create or update .vscode/mcp.json in your project using the examples/vscode.mcp.json contents:

json
{  "servers": {    "sstim": {      "type": "stdio",      "command": "npx",      "args": ["--yes", "@sstim/[email protected]"]    }  }}

In VS Code run MCP: List Servers (or use MCP commands in the Command Palette), start sstim, then open GitHub Copilot Chat → Agent mode and enable the SSTIM tools in the tool picker.

This is VS Code's servers format, not the mcpServers format used by Cursor and Gemini. VS Code can also use a portable project-root .mcp.json, which has different keys; see its official MCP setup.

2. VS Code: OpenAI Codex extension / Codex CLI

Codex's IDE extension and CLI share ~/.codex/config.toml (or supported project-scoped .codex/config.toml). Append the contents of examples/codex.config.toml:

toml
[mcp_servers.sstim]command = "npx"args = ["--yes", "@sstim/[email protected]"]

Or configure the server via the Codex IDE extension: Settings → MCP servers → Add server → STDIO. Restart the extension if prompted. In the CLI, codex mcp list can show the configured servers. This configuration is separate from .vscode/mcp.json for Copilot Chat.

Reference: Codex MCP configuration.

3. VS Code: Claude Code extension / Claude Code CLI

Run in a terminal (using the same Claude Code installation as your extension):

bash
claude mcp add --transport stdio --scope user sstim -- npx --yes @sstim/[email protected]claude mcp get sstim

Then open Claude Code (CLI or VS Code extension) and check the /mcp menu to confirm the server is connected and tools are visible. The -- separator is important: arguments after it belong to npx, not to Claude's CLI. For a shared project installation instead of a personal user installation, consult the project's .mcp.json and approval rules.

Reference: Claude Code MCP setup.

4. Gemini CLI (including inside VS Code's terminal)

Add to your user ~/.gemini/settings.json or project .gemini/settings.json:

json
{  "mcpServers": {    "sstim": {      "command": "npx",      "args": ["--yes", "@sstim/[email protected]"]    }  }}

See examples/gemini.settings.json. Alternatively use:

bash
gemini mcp add -s user sstim npx --yes @sstim/[email protected]

Open Gemini CLI and use /mcp to inspect connectivity and exposed tools.

Gemini CLI is not the same product as the Gemini Code Assist VS Code extension. This configuration applies to the CLI; support for an extension must be verified against that extension's own settings. Reference: Gemini CLI MCP.

5. Cursor

Create a project .cursor/mcp.json, or ~/.cursor/mcp.json globally, with the contents of examples/cursor.mcp.json:

json
{  "mcpServers": {    "sstim": {      "command": "npx",      "args": ["--yes", "@sstim/[email protected]"]    }  }}

Open Cursor Settings → Tools & MCP and verify the server is connected. Ask Cursor Agent to use sstim_search_concepts.

Reference: Cursor MCP documentation.

6. Neovim with CodeCompanion.nvim

Neovim does not supply an AI/MCP client merely by being installed. If you use CodeCompanion.nvim, add this to its setup (or integrate the mcp table into existing config):

lua
require("codecompanion").setup({  mcp = {    servers = {      sstim = {        cmd = { "npx", "--yes", "@sstim/[email protected]" },      },    },    opts = {      default_servers = { "sstim" },    },  },})

See examples/neovim-codecompanion.lua. Open a CodeCompanion chat and access MCP tools using the @mcp: tool group or the /mcp picker, depending on your CodeCompanion version. The plugin's MCP client currently supports the older 2025-11-25 handshake, which this server continues to accept.

For classic Vim, no built-in MCP client is assumed. You can use the Claude Code, Codex, or Gemini CLI configuration above in a terminal inside or outside Vim; do not paste Neovim Lua into a traditional .vimrc.

Verify the installation

After configuring your chosen client, ask:

Use the SSTIM MCP tools to list the current released version, search for “binaural”, and explain one matched concept using its canonical IRI and source provenance. Compare the results for v0.18.0 and v0.19.0 if applicable.

The search tools may be automatically chosen by the agent, but whether a tool is called depends on client settings and model behavior. You can also inspect the tool inventory in your host's MCP panel.

For tests inside this repository:

bash
npm test -- --run packages/sstim-mcp/mcp.test.mjsnpm run checknpm run build

The tests exercise mocked API data, legacy and modern MCP handshakes, stdio framing, and editor-config example syntax. They do not certify interoperability with every named editor release.

Protocol versions and constraints

2026-07-28 is the current MCP protocol revision. Unlike 2025-11-25, which negotiates a process-scoped session via initialize / notifications/initialized, the new revision uses per-request metadata. This server implements both paths:

  • Modern clients: server/discover advertises 2026-07-28, tools are usable without initialize, and every request carries params._meta["io.modelcontextprotocol/protocolVersion"] and params._meta["io.modelcontextprotocol/clientCapabilities"]. Results declare resultType: "complete" and server identity metadata.
  • Older clients: continue using the legacy initialize handshake and legacy response structure. Supporting this version remains important for real installed clients, including some Neovim plugins.

The modern revision does not mean the server must be remote: stdio remains a defined transport. There is currently no Streamable HTTP endpoint for SSTIM MCP; remote ChatGPT connectors would require a separate deployment.

Protocol references: MCP 2026-07-28 versioning, stdio transport, discovery.

The latest frozen release comes from API discovery, not from a hard-coded runtime constant. At the time of this update it is v0.19.0; the separately maintained development line is v0.20.0-dev. For repeatable research use an explicit frozen release in tool arguments.

Operational limits: read-only catalog; up to 20 search results; no hosted ?q= search; no API key; no write tools; no live ontology inference, adjudication of scientific disputes, or guaranteed clinical meaning. The default reference URL is https://w3c-cg.github.io/sstim/api/v1/. An operator can override it with SSTIM_MCP_API_BASE, using HTTPS or loopback HTTP for testing. A per-process cache keeps repeated requests local until restart. Outputs retain term IRIs, release identity and source links.

來源:packages/sstim-mcp/README.md,提交 23b03fd

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.2.0最新Oct 10, 2026