iOS App ──── POST /auth/login ──────────────► Go REST API (port 8080)
◄─── session token ─────────────────
──── POST /auth/generate-mcp-key ──►
◄─── PAT ──────────────────────────
AI Agent ──── MCP tool calls ───────────────► Go MCP Server (port 9090)
(via PAT) │
└─► Go REST API
# Development (with a dev session token for testing without Apple Sign-In)
make run-api
# Production
go run ./cmd/api
转到MCP服务器
# HTTP/SSE transport (default, port 9090)
make run-mcp PAT=<your-pat>
# stdio transport (for local AI agent use)
MCP_PAT_TOKEN=<your-pat> MCP_TRANSPORT=stdio go run ./cmd/mcp
iOS应用程序
打开 ios/CraneStack.xcodeproj 在Xcode中
选择模拟器或设备
构建与运行(⌘R)
在开发中,tap 开发人员登录 绕过Apple登录
编辑后重新生成Xcode项目 ios/project.yml:
cd ios && xcodegen generate
环境变量
API服务器(cmd/api)
变量
默认值
描述
DB_PATH
cranestack.db
SQLite数据库文件的路径
PORT
8080
API监听的端口
DEV_SESSION_TOKEN
(未设置)
设置后,在没有Apple登录的情况下注册开发会话进行本地测试
LOG_FORMAT
json
日志格式: json 或 text
MCP服务器(cmd/mcp)
变量
必填
描述
MCP_PAT_TOKEN
✅
API生成的个人访问令牌
MCP_TRANSPORT
sse
使用交通工具: sse 或 stdio
API_BASE_URL
http://localhost:8080
REST API的基本URL
LOG_FORMAT
json
日志格式: json 或 text
PAT流程(开发)
# 1. Start the API with a known dev session token
make run-api
# 2. Generate a PAT using that dev token
curl -s -X POST http://localhost:8080/auth/generate-mcp-key \
-H "Authorization: Bearer dev-session-token" | jq
# 3. Start the MCP server with that PAT
make run-mcp PAT=<token from step 2>