稳定MCP(本地)
这是一个 本地MCP服务器 通过驾驶Steady提交Steady签到 网页表单 (有 没有官方稳定的API).
它是为工作流而构建的:
你告诉AI: 团队+登记字段 (上一个/下一个/阻断器)→ AI调用MCP工具→ 提交了稳定的入住登记。
______________________________________________________________________
这支持什么
- 电子邮件+密码登录 (两步流从
/signin)viasteady_login - 基于Cookie的身份验证 通过
steady_set_cookies(非标准身份验证流的回退) - 团队发现 通过
steady_list_teams - 提交一个团队的签到 通过
steady_submit_checkin
它是如何工作的(重要)
稳定旋转 _sthr_session 加载每日编辑页面时使用cookie(/check-ins/YYYY-MM-DD/edit).\ 所以 此服务器使用curl cookie jar (cookiejar.txt)以在GET和POST之间保留更新的会话cookie。
______________________________________________________________________
需求
- Node.js 18+
- 光标 (或另一个MCP客户端),支持通过stdio运行本地MCP服务器
- 访问Steady网络应用程序(
https://app.steady.space)
______________________________________________________________________
安装
cd tools/steady-mcp
npm install______________________________________________________________________
配置光标(MCP)
在Cursor MCP配置中添加服务器条目。
在哪里 mcp.json?
常见位置:
- macOS/Linux:
~/.cursor/mcp.json - 视窗:
%USERPROFILE%\\.cursor\\mcp.json
如果看不到,请使用MCP服务器的Cursor UI设置(推荐),或搜索 mcp.json 在你的机器上。
快速入门:macOS(推荐)
- 安装Node.js 18+
- 如果您使用Homebrew:
brew install node
node -v- 安装依赖项
cd /tools/steady-mcp
npm install- 添加
steady-mcp到~/.cursor/mcp.json(示例如下)
- 重新启动游标 (退出+重新打开)
- 在Cursor中,运行:
steady_loginsteady_submit_checkin
快速入门:Windows
- 安装Node.js 18+
- 如果你使用
winget:
winget install OpenJS.NodeJS.LTS
node -v- 安装依赖项
cd \tools\steady-mcp
npm install- 添加
steady-mcp到%USERPROFILE%\.cursor\mcp.json
- 重新启动游标 (完全退出+重新打开)
- 在Cursor中,运行:
steady_loginsteady_submit_checkin
示例 mcp.json 片段
替换 `` 以及您的电子邮件。
{
"mcpServers": {
"steady-mcp": {
"command": "node",
"args": [
"/tools/steady-mcp/src/index.js"
],
"env": {
"STEADY_BASE_URL": "https://app.steady.space",
"STEADY_EMAIL": "you@company.com",
"STEADY_PASSWORD": "",
"STEADY_MCP_DEBUG": "0"
}
}
}
}Windows路径提示(重要)
在JSON中,Windows反斜杠需要转义。最简单的选择:在 args 路径:
{
"mcpServers": {
"steady-mcp": {
"command": "node",
"args": [
"C:/Users//path/to/repo/tools/steady-mcp/src/index.js"
],
"env": {
"STEADY_BASE_URL": "https://app.steady.space",
"STEADY_EMAIL": "you@company.com",
"STEADY_PASSWORD": ""
}
}
}
}安全说明
STEADY_PASSWORD在mcp.json这是最简单的设置,但 不 非常适合安全。- 更喜欢
STEADY_PASSWORD_COMMAND(在运行时检索密码)。
______________________________________________________________________
凭证/秘密(跨平台)
服务器从MCP客户端提供的环境变量中读取凭据。
选项A(简单):明文环境密码
STEADY_EMAILSTEADY_PASSWORD
选项B(推荐):密码命令
STEADY_EMAILSTEADY_PASSWORD_COMMAND--将密码打印到stdout的命令(无提示)
示例:
- macOS钥匙扣 (建议在macOS上使用)
1. 存储一次:
security add-generic-password -a "you@company.com" -s "steady-mcp" -w "" -U- 在MCP环境中:
- STEADY_PASSWORD_COMMAND=security find-generic-password -w -s steady-mcp -a you@company.com
- 视窗:使用密码管理器CLI(例如1Password CLI/Bitwarden CLI)或打印密码的小型本地脚本。
- 任何操作系统:使用密码管理器的CLI,或保存在git之外的小脚本。
选项C(仅限macOS回退):无需命令即可查找钥匙串
如果您有Keychain条目,服务器可以在macOS上自动读取它:
STEADY_EMAIL=you@company.com- 可选地
STEADY_KEYCHAIN_SERVICE=steady-mcp - 可选地
STEADY_KEYCHAIN_ACCOUNT=you@company.com
______________________________________________________________________
身份验证选项
1) 登录自动化(电子邮件→ 密码)
用途:
steady_login
这将登录并写入:
cookies.txt(Cookie标头字符串)cookiejar.txt(curl jar;内部用于处理会话旋转)
2) 基于Cookie的身份验证(回退)
如果登录自动化对您的Steady帐户不起作用,您可以从浏览器设置Cookie:
- 在Steady(浏览器)中:DevTools→ 应用/存储→ Cookie→
https://app.steady.space - 复制这些Cookie:
- _sthr_session - remember_user_token (如果存在)
- 构建Cookie标头字符串:
_sthr_session=...; remember_user_token=...- 电话:
steady_set_cookies随着{ "cookies": "_sthr_session=...; remember_user_token=..." }
______________________________________________________________________
文件位置(存储Cookie的位置)
默认值(可以通过env覆盖):
- macOS
- 饼干: ~/Library/Application Support/steady-mcp/cookies.txt - 罐子: ~/Library/Application Support/steady-mcp/cookiejar.txt
- 视窗
- 饼干: %APPDATA%\\steady-mcp\\cookies.txt - 罐子: %APPDATA%\\steady-mcp\\cookiejar.txt
- Linux
- 饼干: $XDG_CONFIG_HOME/steady-mcp/cookies.txt (或 ~/.config/steady-mcp/cookies.txt) - 罐子: $XDG_CONFIG_HOME/steady-mcp/cookiejar.txt (或 ~/.config/steady-mcp/cookiejar.txt)
覆盖:
STEADY_COOKIES_PATHSTEADY_COOKIE_JAR_PATH
______________________________________________________________________
使用(日常)
步骤0:重新启动游标
添加/更新MCP配置后,完全重新启动Cursor(退出+重新打开)。
步骤1:登录(刷新Cookie)
电话:
steady_login
然后验证:
steady_ping→ 应返回{ "ok": true }
第二步:列出团队名称(可选)
电话:
steady_list_teams
第3步:提交一个团队的今天登记
电话:
steady_submit_checkin
例子:
{
"team": "Everest AI",
"previous": "Wrapped up CI fixes and reviewed PRs.",
"text": "Next: finalize the MCP schema changes and update docs.",
"blockers": "No blockers.",
"mood": "calm"
}成功通常是:
status_code: 302
______________________________________________________________________
工具(API表面)
steady_login:登录并在本地保存Cookiesteady_set_cookies:手动保存浏览器Cookiesteady_ping:验证身份验证steady_list_teams:从每日编辑页面列出团队名称/idsteady_submit_checkin:提交一个团队
______________________________________________________________________
故障排除
从这里开始: docs/TROUBLESHOOTING.md
常见问题:
- 在游标中找不到工具
- 完全重新启动Cursor - 验证 mcp.json 入口路径正确且绝对 - 验证 npm install 被撞了 tools/steady-mcp
- HTTP 422
- 通常意味着提交被拒绝(已签入/会话过时/权限不足) - 跑 steady_login 再试一次 - 确认该团队实际上正在Steady的每日页面上等待
- 需要调试
- 集 STEADY_MCP_DEBUG=1 (警告:调试输出可能包含敏感Cookie)
