smplkit MCP server
Commit 13. Nov. 2026Allows an AI agent to manage feature flags, configurations, logging levels, audit logs, and scheduled jobs across the smplkit platform.
Auch bekannt als smplkit/mcp, mcp
- Stars
- 0
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- 0.10.6
- Letzter Commit
- 13. Nov. 2026
- Lizenz
- MIT
Was ist smplkit MCP?
smplkit ist ein MCP server. Allows an AI agent to manage feature flags, configurations, logging levels, audit logs, and scheduled jobs across the smplkit platform.
Zusammenfassung generiert aus dem README des Projekts
Über smplkit MCP server
Managing feature flags, configurations, and scheduled jobs directly from your AI chat interface is what this server enables. It acts as a gateway for agents like Claude Code, Claude Desktop, or Cursor to operate the entire smplkit platform. By connecting to the hosted endpoint, an AI can perform complex operational tasks such as adjusting runtime log levels, searching audit logs, or setting up SIEM forwarders without requiring you to switch between different management consoles.
The server functions as a stateless HTTP client that connects to smplkit product APIs. Users can authenticate through a one-time browser sign-in using Google or Microsoft OAuth, or provide a static API key for headless environments like CI or scripts. It provides specific tools for managing flags, typed configurations, logging levels, audit events, and scheduled HTTP jobs. Because it is stateless, it does not store credentials locally, ensuring that authentication is validated on a per-request basis.
Was du damit machen kannst
- 1Toggle feature flags for specific usersAn AI agent can enable a new feature for enterprise customers in a production environment.
- 2Adjust runtime logging levelsYou can instruct an agent to increase the verbosity of specific loggers to debug issues in production.
- 3Automate scheduled HTTP requestsA developer can set up a recurring or one-off job to hit a specific endpoint at a set time.
- 4Manage audit log streamingAn agent can configure the platform to send audit events to an external destination like Datadog.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du smplkit MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügensmplkit MCP in Claude Code installieren
$ claude mcp add --transport http mcp https://mcp.smplkit.com/api/mcpsmplkit MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"url": "https://mcp.smplkit.com/api/mcp"
}
}
}smplkit MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "http",
"url": "https://mcp.smplkit.com/api/mcp"
}
}
}smplkit MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"mcp","type":"http","url":"https://mcp.smplkit.com/api/mcp"}'smplkit MCP in Codex installieren
$ codex mcp add mcp --url https://mcp.smplkit.com/api/mcpsmplkit MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.mcp] url = "https://mcp.smplkit.com/api/mcp"
smplkit MCP in Gemini CLI installieren
$ gemini mcp add -s user --transport http mcp https://mcp.smplkit.com/api/mcpsmplkit MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"url": "https://mcp.smplkit.com/api/mcp",
"type": "http"
}
}
}Automatisierte Checks
Geluften am 15. Nov. 2026Vollständiger Bericht →Noch nicht verifiziert. Ein Server benötigt einen Score von 80, keine kritischen Befunde und genug Daten für unsere Prüfung. Wie die Checks funktionieren · Was du für mehr Punkte verbessern kannst
- Source Repository verknüpft und erreichbarsmplkit/mcp is public and reachablegithub.com/smplkit/mcp ↗Bestanden
- Paket nennt dieses Repository als QuelleNicht geprüft
- Build-Provenienz (Sigstore-Attestierung)Nicht geprüft
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-11-06github.com/smplkit/mcp ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNicht geprüft
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
- Keine versteckten Anweisungen an das Modell0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNicht geprüft
- Remote-Endpoint beantwortet den MCP-HandshakeEndpoint did not answer initialize: HTTP 530Befund
README
Auf GitHub ansehensmplkit 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):
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"]
}
}
}
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:
{
"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.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."
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.
| 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:
set_flag/set_config_value/set_log_levelare read-modify-write. You express a partial change in one environment and the tool preserves the rest.list_environmentstells you the valid environment targets (production,staging, …) for everyset_*tool and for jobs.- Prove before you trust.
run_jobfires a job once and returns the captured response;test_forwarderdry-runs a SIEM destination before you save it. create_jobinfers the kind: a cronschedule→ recurring, arun_atdatetime → 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
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
# 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_*backslist_environments).*_SCHEME—https(default) orhttp.*_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:
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/mcpwith a stateless, JSON-response transport (no long-lived SSE), so it behaves correctly through proxies and load balancers with short idle timeouts.
License
MIT.
smplkit MCP Fragen
Wie füge ich smplkit MCP zu Claude Code hinzu?
Führe claude mcp add --transport http mcp https://mcp.smplkit.com/api/mcp in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich smplkit MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Can I use this server in a CI/CD or headless environment?
Yes, you can skip the browser-based sign-in by using an API key as a bearer token in your configuration.
Does the server store my credentials?
No, the server is a stateless HTTP client that holds no credentials of its own and validates them per request.
Can I trigger jobs on my local network?
No, job targets and forwarder destinations must be reachable from the public internet; you must use a tunnel like ngrok or cloudflared for local addresses.