smplkit MCP Server

com.smplkit由 smplkit.com 发布官方发布者v0.10.6更新于 Oct 24, 2026

Operate smplkit from your agent: feature flags, config, logging, audit, and scheduled jobs.

已验证Streamable HTTP可网页运行云端与基础设施开发者工具安全与监控

概览

AI 生成的概览

托管型 MCP 服务器,让助手操作 smplkit 平台:功能开关、配置、日志级别、审计事件和定时任务。

可以做什么
创建、列出、读取、修改和删除功能开关,支持按环境取值与定向,并以读-改-写方式做局部变更而不覆盖其他设置。创建和管理带类型的配置项,并按环境设置取值。列出日志记录器,并按环境调高或重置运行时日志级别。查询审计事件,并创建、测试或删除 SIEM 转发器。创建、更新、运行和删除定时 HTTP 任务,并查看其捕获的运行结果。列出可作为目标的环境。
适用场景
当团队使用 smplkit,并希望助手在对话中直接改动平台时适用,例如在生产环境为特定用户开启某个开关、修改预发布环境的配置值、临时调高日志级别,或配置审计转发器和周期性 HTTP 任务。
运行要求
远程端点 mcp.smplkit.com,通过 streamable HTTP 访问。必须认证:可用 Google 或 Microsoft 一次性浏览器登录,或使用 smplkit API 密钥以 Authorization bearer 令牌发送。需要 smplkit 账号。Claude Desktop 需借助 npx 桥接远程服务器。
安装前请注意
助手可以改动线上平台状态:开关、配置值、日志级别、转发器和任务都可被创建、修改或删除,任务还可立即运行。任务和转发器由 smplkit 云端发起请求,目标地址必须可从公网访问,localhost 或私有地址不会触发。API 密钥属于凭据,请勿放入共享配置或日志。

安装

在 SourceWeft 中

  1. 打开 控制台中的 smplkit MCP Server,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.smplkit%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "smplkit": {
      "type": "http",
      "url": "https://mcp.smplkit.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

smplkit MCP Server

[smplkit/mcp MCP server]

A hosted, agent-native Model Context Protocol server — the gateway that lets an AI agent (Claude Code, Claude Desktop, Cursor, …) operate the whole smplkit platform on your behalf, without you ever leaving the chat.

One server, the whole platform:

  • Flags — feature flags with per-environment values and targeting.
  • Config — keyed, typed config with per-environment overrides.
  • Logging — change runtime log levels per environment.
  • Audit — search the audit log and wire SIEM forwarders.
  • Jobs — scheduled HTTP jobs (cron, one-off, or on-demand) with response capture.

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.

Connect once

1. Add the server and sign in

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):

bash
claude mcp add --transport http smplkit https://mcp.smplkit.com/api/mcp

…or in .mcp.json:

json
{  "mcpServers": {    "smplkit": {      "type": "http",      "url": "https://mcp.smplkit.com/api/mcp"    }  }}

Cursor (~/.cursor/mcp.json or project .cursor/mcp.json):

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:

json
{  "mcpServers": {    "smplkit": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.smplkit.com/api/mcp"]    }  }}
Prefer a static key?

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:

json
{  "mcpServers": {    "smplkit": {      "type": "http",      "url": "https://mcp.smplkit.com/api/mcp",      "headers": { "Authorization": "Bearer ${SMPLKIT_API_KEY}" }    }  }}

2. Ask your agent

"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.host to db-staging.internal for staging."

"Raise the sqlalchemy.engine logger 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/warm every morning at 7am NY time, then run it now to prove it works."

Tools

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.

CapabilityTools
Flagscreate_flag, list_flags, get_flag, set_flag, delete_flag
Configcreate_config, list_configs, get_config, set_config_value, delete_config
Loggingset_log_level, list_loggers, get_logger, reset_logger
Auditquery_events, get_event, list_forwarders, create_forwarder, test_forwarder, delete_forwarder
Jobscreate_job, list_jobs, get_job, update_job, delete_job, run_job, list_runs, get_run
Platformlist_environments

A few load-bearing behaviors:

  • set_flag / set_config_value / set_log_level are read-modify-write. You express a partial change in one environment and the tool preserves the rest.
  • list_environments tells you the valid environment targets (production, staging, …) for every set_* tool and for jobs.
  • Prove before you trust. run_job fires a job once and returns the captured response; test_forwarder dry-runs a SIEM destination before you save it.
  • create_job infers the kind: a cron 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.

The public-internet constraint

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.

Development

bash
python3.13 -m venv .venv && . .venv/bin/activatepip install -r requirements-test.txtpytest                                          # unit tests (acceptance deselected)ruff check src tests

Run the server locally:

bash
PYTHONPATH=src uvicorn smplkit_mcp.app:app --host 0.0.0.0 --port 8000# MCP endpoint:  http://localhost:8000/api/mcp# Health check:  http://localhost:8000/health

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 <product>.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.

Acceptance 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:

bash
pytest -m acceptance# point at a non-prod platform with <PRODUCT>_BASE_URL=...

Architecture

  • Stateless Python service built on FastMCP: it holds no database and no platform credential of its own.
  • Auth is per request — whether the caller signs in with OAuth or sends an API key, the credential is validated and used per request to reach each product API, and is never cached or logged.
  • One thin JSON:API HTTP client per product (flags, config, logging, audit, environments), each pointed at its own configurable base host.
  • The MCP endpoint is served under /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.

License

MIT.

来源:README.md,提交 79feef4

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

1
  1. v0.10.6最新Sep 16, 2026

评分

已满足适用检查项的 60%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分