Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Operate smplkit from your agent: feature flags, config, logging, audit, and scheduled jobs.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http smplkit https://mcp.smplkit.com/api/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"smplkit": {
"url": "https://mcp.smplkit.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"smplkit": {
"type": "http",
"url": "https://mcp.smplkit.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 smplkit.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.10.6)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Python MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Local-only Python MCP server for the Files.com API.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A hosted, agent-native Model Context Protocol server — the gateway that lets an AI agent (Claude Code, Claude Desktop, Cursor, …) operate the whole [smplkit](https://smplkit.com) platform on your behalf, without you ever leaving the chat.
One server, the whole platform:
Once connected, tell your agent *"turn on the new checkout for enterprise users in prod,"* *"set the staging database host,"* *"raise the SQL logger to DEBUG in prod,"* *"stream audit events to Datadog,"* or *"POST my endpoint every morning at 7."* It makes the change, proves it works, and answers follow-up questions straight from the live state.
It is a thin, stateless HTTP client to the smplkit product APIs — it holds no credential of its own.
The server lives at `https://mcp.smplkit.com/api/mcp`. Point your MCP client at that URL — the first time it connects, the client opens your browser for a one-time sign-in (Continue with Google or Microsoft, standard OAuth). After that it reconnects and refreshes access on its own; there's no key to mint, copy, or rotate.
Claude Code (CLI):
claude mcp add --transport http smplkit https://mcp.smplkit.com/api/mcp
…or in .mcp.json:
{
"mcpServers": { "smplkit": { "type": "http", "url": "https://mcp.smplkit.com/api/mcp" } } }
Cursor (~/.cursor/mcp.json or project .cursor/mcp.json):
{
"mcpServers": { "smplkit": { "url": "https://mcp.smplkit.com/api/mcp" } } }
Claude Desktop (claude_desktop_config.json) — Desktop bridges remote servers through mcp-remote, which opens a browser for the one-time sign-in and caches the connection:
{
"mcpServers": { "smplkit": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.smplkit.com/api/mcp"] } } }
For non-interactive use — CI, scripts, headless clients, or writing code with the smplkit SDKs — skip the browser and authenticate with an API key as a bearer token. Sign up at https://smplkit.com (Google or Microsoft SSO, email-verified instantly), create an API key in the console, and send it as Authorization: Bearer YOUR_SMPLKIT_API_KEY (a custom X-Smplkit-Api-Key header is also accepted). The SDKs read the same key from SMPLKIT_API_KEY. For example, add a headers block to the config above:
{
"mcpServers": { "smplkit": { "type": "http", "url": "https://mcp.smplkit.com/api/mcp", "headers": { "Authorization": "Bearer ${SMPLKIT_API_KEY}" } } } }
"Create a boolean flag
new-checkout, off by default, then turn it on in prod
only for enterprise users."
"List my environments, then set
database.hosttodb-staging.internalfor
staging."
"Raise the
sqlalchemy.enginelogger to DEBUG in production while I debug,
then reset it."
"Test whether
https://http-intake.logs.datadoghq.com/...accepts a sample,
then create a Datadog forwarder for our audit events."
"POST
https://api.example.com/cache/warmevery morning at 7am NY time, then
run it now to prove it works."
All tools share intent-named verbs — list_*, get_*, create_*, set_*, delete_* — and hide the JSON:API envelopes, per-environment nesting, and full-replace PUTs behind partial-intent calls.
| Capability | Tools |
|---|---|
| Flags | create_flag, list_flags, get_flag, set_flag, delete_flag |
| Config | create_config, list_configs, get_config, set_config_value, delete_config |
| Logging | set_log_level, list_loggers, get_logger, reset_logger |
| Audit | query_events, get_event, list_forwarders, create_forwarder, test_forwarder, delete_forwarder |
| Jobs | create_job, list_jobs, get_job, update_job, delete_job, run_job, list_runs, get_run |
| Platform | list_environments |
A few load-bearing behaviors:
production, staging, …) for every set_* tool and for jobs.run_job fires a job once and returns the captured response; test_forwarder dry-runs a SIEM destination before you save it.schedule → recurring, a run_at datetime → one-off, neither → manual. You never set a kind.The bundled SKILL.md teaches an agent the whole surface.
smplkit calls job targets and forwarder destinations from the cloud, so those URLs must be reachable from the public internet — localhost/private addresses won't fire. To target a local server, point at its deployed URL or expose it with a tunnel (cloudflared tunnel --url http://localhost:PORT or ngrok http PORT) and set a secret auth header.
python3.13 -m venv .venv && . .venv/bin/activate
pip install -r requirements-test.txt pytest # unit tests (acceptance deselected) ruff check src tests
Run the server locally:
PYTHONPATH=src uvicorn smplkit_mcp.app:app --host 0.0.0.0 --port 8000
Configuration (env vars) — each product's base host is independently configurable, mirroring the SDK's base_domain pattern:
JOBS_BASE_DOMAIN / FLAGS_BASE_DOMAIN / CONFIG_BASE_DOMAIN / LOGGING_BASE_DOMAIN / AUDIT_BASE_DOMAIN / APP_BASE_DOMAIN — the host for each product API (defaults .smplkit.com; APP_* backs list_environments).*_SCHEME — https (default) or http.*_BASE_URL — full base-URL override (e.g. http://localhost:8002); wins over the two above. Used for the local platform and tests.tests/test_acceptance.py provisions an ephemeral verified account and drives the full tool surface against the real product APIs end-to-end — create/set/get/ delete a flag, set and read a config value, set and list a log level, query events, create/test/delete a forwarder, list environments, and the eight Jobs tools — then cleans up. These tests require smplkit-internal admin credentials, so they self-skip unless an admin key is available (ADMIN_API_KEY env or the [admin] profile in ~/.smplkit) — external contributors can ignore them; the unit suite needs no credentials. Run them explicitly:
pytest -m acceptance
/api/mcp with a stateless, JSON-response transport (no long-lived SSE), so it behaves correctly through proxies and load balancers with short idle timeouts.MIT.