使用说明
时空数据库mcp-rs
基于Rust的 主控程序 服务器,将SpacetimeDB HTTP API公开为MCP工具,允许LLM查询数据库、调用还原器、执行SQL和管理标识。
特性
6个类别的15个工具:
| 类别 | 工具 |
|---|---|
| 认证 | login |
| 健康 | ping |
| 身份 | create_identity, verify_identity, list_identity_databases |
| 数据库 | get_database, delete_database, get_database_names, add_database_name, set_database_names, resolve_database_identity, get_database_schema, get_database_logs |
| SQL | execute_sql |
| 减速器 | call_reducer |
| 能源 | get_energy_balance |
认证
服务器支持三种身份验证方法,按顺序检查:
- 静态令牌 (
SPACETIMEDB_TOKENenv-var)——用于CI/CD无头使用 - 已保存令牌 (
~/.spacetimedb/mcp_token.json)--过期时自动刷新 - 浏览器登录 --呼叫
login通过SpacetimeAuth OIDC(GitHub、谷歌、Discord、Twitch、Kick或魔术链接)进行身份验证的工具
如果没有可用的令牌,服务器将在未经身份验证的情况下启动。使用 login 该工具用于触发基于浏览器的OIDC登录,从而为未来的会话保存令牌。
先决条件
- 正在运行的SpacetimeDB实例(或使用
https://testnet.spacetimedb.com) - (可选)用于经过身份验证的操作的SpacetimeDB身份验证令牌
设置
1.安装
从下载预构建的二进制文件 发布,或从源代码构建:
cargo install --git https://github.com/Craigeous/spacetimedb-mcp-rs
2.配置您的MCP客户端
克劳德代码
claude mcp add spacetimedb -- env SPACETIMEDB_URL=https://testnet.spacetimedb.com /path/to/spacetimedb-mcp-rs
或者使用身份验证令牌:
claude mcp add spacetimedb -- env SPACETIMEDB_URL=https://testnet.spacetimedb.com SPACETIMEDB_TOKEN=your_token_here /path/to/spacetimedb-mcp-rs
克劳德桌面版
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"spacetimedb": {
"command": "/path/to/spacetimedb-mcp-rs",
"env": {
"SPACETIMEDB_URL": "https://testnet.spacetimedb.com",
"SPACETIMEDB_TOKEN": "your_token_here"
}
}
}
}
3.验证
问克劳德: “使用ping工具检查SpacetimeDB连接”
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
SPACETIMEDB_URL |
是 | SpacetimeDB实例的基本URL |
SPACETIMEDB_TOKEN |
否 | 静态JWT身份验证令牌--完全跳过OIDC |
SPACETIMEDB_CLIENT_ID |
无 | OIDC客户端ID(默认:内置) |
SPACETIMEDB_AUTH_URL |
无 | OIDC授权URL(默认值: https://auth.spacetimedb.com/oidc) |
使用提示
- 从...开始
ping验证连接 - 使用
login如果未配置令牌,则通过浏览器进行身份验证 - 使用
get_database_schema在查询之前探索数据库的表和reducer - 使用
execute_sql用于对SpacetimeDB表进行读取查询(SELECT) - 使用
call_reducer调用修改数据的存储过程 - 数据库参数接受人类可读的名称或十六进制标识字符串
- 使用
create_identity为经过身份验证的操作获取新的身份和令牌
调试日志
RUST_LOG=debug SPACETIMEDB_URL=https://testnet.spacetimedb.com cargo run 2>debug.log
日志被写入stderr,这样它们就不会干扰MCP stdio传输。
许可证
麻省理工学院