SOT服务器
真相之源服务器-通过REST API和 主控程序 对于AI代理。使用Sinatra、Sequel和SQLite构建。
管理员定义的模式描述了具有类型化字段和可选状态机的表。记录是CRUD的,带有比较和交换前提条件以及完整的审计跟踪。
快速启动
Docker(推荐)
docker compose up -d
docker compose run --rm sot-server bundle exec rake db:seed # creates admin user, prints token本地
bundle install
rake server # starts on port 39482
curl -X POST http://localhost:39482/install # creates admin user, returns token保存令牌,它将不再显示。将其用作所有后续请求的承载令牌。
API
所有端点(除 /install)要求 Authorization: Bearer .
| 路径 | 描述 |
|---|---|
POST /install | Bootstrap管理员用户(一次) |
/api/schemas | 列出架构 |
/api/records/:table | 查询记录 |
/api/records | 创建/更新/删除记录 |
/api/admin/schemas | 管理架构(管理员) |
/api/activity_log | 审计追踪 |
/mcp | 人工智能代理的MCP端点 |
/mcp/admin | MCP管理端点 |
以MCP身份连接
服务器在上公开了可流式HTTP MCP传输 /mcp (用户工具)和 /mcp/admin (管理工具)。需要承载令牌身份验证。
克劳德代码(CLI)
claude mcp add sot-user -t http http://localhost:39482/mcp \
-H "Authorization: Bearer "
claude mcp add sot-admin -t http http://localhost:39482/mcp/admin \
-H "Authorization: Bearer "JSON配置(.mcp.json 或 claude mcp add-json)
{
"mcpServers": {
"sot-user": {
"type": "http",
"url": "http://localhost:39482/mcp",
"headers": {
"Authorization": "Bearer "
}
},
"sot-admin": {
"type": "http",
"url": "http://localhost:39482/mcp/admin",
"headers": {
"Authorization": "Bearer "
}
}
}
}码头工人
该应用程序在多阶段Docker构建中运行 ruby:3.3-slim.SQLite数据库存储在绑定挂载的主机目录上(./data/).
每次启动容器时,迁移都会自动运行。要手动运行它们,请执行以下操作:
docker compose run --rm sot-server bundle exec rake db:migrate通过环境变量进行配置 docker-compose.yml:
| 变量 | 默认值 | 描述 |
|---|---|---|
RACK_ENV | production | 机架/辛纳屈环境 |
SOT_DB_PATH | /data/sot.sqlite3 | SQLite数据库文件路径 |
PORT | 39482 | 服务器侦听端口 |
发展
rake spec # run tests
rake db:create_migration[name] # generate migration