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 分