Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Query your simpletel OpenTelemetry traces and account usage from a coding agent.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"simpletel": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/willnewby/simpletel-mcp:20261011.2217.17-3b41fca"
]
}
}
}ターミナルでこれを実行します
claude mcp add simpletel -- docker run -i --rm ghcr.io/willnewby/simpletel-mcp:20261011.2217.17-3b41fcaプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"simpletel": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/willnewby/simpletel-mcp:20261011.2217.17-3b41fca"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"simpletel": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/willnewby/simpletel-mcp:20261011.2217.17-3b41fca"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント willnewby で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(20261011.2217.17-3b41fca)がレジストリに届いたのは25 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Safe Fetch
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Model Context Protocol server for simpletel — ask your
coding agent *"what just happened?"* and let it read the OpenTelemetry traces,
logs, metrics, and account usage of your running services.
simpletel mcp is a stdio MCP server built into the simpletel CLI. It speaks newline-delimited JSON-RPC 2.0 on stdin/stdout (MCP protocol revision 2025-06-18) and exposes simpletel's read commands as native agent tools. It is a single static binary: no runtime, no dependencies, no background service.
curl -fsSL https://simpletel.dev/install | shsimpletel mcpghcr.io/willnewby/simpletel-mcpio.github.willnewby/simpletelThe server advertises four tools. Every tool returns text (the JSON document the matching CLI command produces), and tool-side failures come back as a normal result with isError: true — a tool call never breaks the session.
| Tool | Arguments | What it does |
|---|---|---|
get_traces | since (default 1h), service, errors_only, min_duration, limit | Lists this team's traces newest-first. The JSON document simpletel get traces --format json produces. Use it to find a failing or slow request. |
get_trace | trace_id (required) | Fetches one trace in full — spans, span events, and correlated log records. The JSON document simpletel get trace --format json produces. |
verify | service (required), timeout (default 60s) | Runs the simpletel verify onboarding check: polls until service has a fresh trace carrying spans from a library instrumentation. Returns the rung report and the exit status (0 verified, 1 deadline miss). A deadline miss is a completed check, not a tool error. |
usage | *(none)* | Shows the account's plan, month-to-date records, allowance, and spend cap. The JSON document simpletel usage --format json produces. Account-scoped (needs a logged-in user token). |
get_traces, get_trace, and verify are team-scoped; usage is account-scoped.
The server resolves one connection at startup, using the same precedence as every other simpletel read command: **flag > environment variable > config file
default**.
| Setting | Flag | Environment | Config file | Default |
|---|---|---|---|---|
| Endpoint | --endpoint | SIMPLETEL_ENDPOINT | endpoint | http://localhost:4318 |
| Team | --team | SIMPLETEL_TEAM | current_team | *(none)* |
| Admin token | --admin-token | SIMPLETEL_ADMIN_TOKEN | — | *(none)* |
User token (for usage) | — | SIMPLETEL_TOKEN | auth token | *(none)* |
| Config path | --config | SIMPLETEL_CONFIG | — | ~/.simpletel/config.toml |
~/.simpletel/config.toml, written by simpletel login and simpletel team (mode 0600). simpletel login signs you in with GitHub; simpletel team create / simpletel team use set the current team.--team accepts either a 20-hex team id — used verbatim, no token needed — or a friendly name. A name is *resolved only, never created*, and needs an admin token to look it up.usage additionally needs a user token: run simpletel login, or set SIMPLETEL_TOKEN (a stk_… token).If the team is missing or wrong the server still answers initialize and tools/list, so the client sees the tool catalog; each team-scoped call then reports the problem as its own isError result.
Nothing is ever sent to simpletel by this server beyond the read requests the
tools make to the endpoint you configure. Diagnostics go to stderr; stdout
carries protocol messages only.
curl -fsSL https://simpletel.dev/install | sh
Installs simpletel into ~/.simpletel/bin/ (verify the sha256; no sudo, never prompts). Then sign in and create/select a team:
simpletel login # GitHub device flow
simpletel team create --name my-team
The MCP subcommand is simpletel mcp. It takes the connection flags --endpoint, --team, --admin-token, and --config.
Claude Code
# by 20-hex team id (no extra credentials needed)
claude mcp add simpletel -- ~/.simpletel/bin/simpletel mcp --team <20-hex-team-id>
claude mcp add simpletel -- ~/.simpletel/bin/simpletel mcp
Pass connection values as environment instead with --env:
claude mcp add simpletel \
--env SIMPLETEL_ENDPOINT=https://simpletel.dev \ --env SIMPLETEL_TEAM=<20-hex-team-id> \ -- ~/.simpletel/bin/simpletel mcp
Claude Desktop / any JSON-configured client (claude_desktop_config.json, Cursor, Cline, Windsurf, …):
{
"mcpServers": { "simpletel": { "command": "/Users/you/.simpletel/bin/simpletel", "args": ["mcp"], "env": { "SIMPLETEL_ENDPOINT": "https://simpletel.dev", "SIMPLETEL_TEAM": "<20-hex-team-id>" } } } }
If you are logged in locally you can drop env and the command will read ~/.simpletel/config.toml. In a sandboxed client that cannot read your home directory, pass the values through env (or --env / --router equivalents) instead.
The image bundles the CLI and runs simpletel mcp. It is built for linux/amd64 and linux/arm64:
docker run -i --rm ghcr.io/willnewby/simpletel-mcp:latest
The container starts with no credentials. Provide them either by mounting the config file or through environment variables (recommended — nothing is written to the image).
Mount an existing config file (read-only). The image runs as the distroless nonroot user (uid/gid 65532) with HOME=/home/nonroot, so the CLI's default config path inside the container is /home/nonroot/.simpletel/config.toml. Because simpletel login writes that file mode 0600 for you, run the container as the file's owner so it stays readable:
docker run -i --rm \
--user "$(id -u):$(id -g)" \ -v "$HOME/.simpletel/config.toml:/home/nonroot/.simpletel/config.toml:ro" \ ghcr.io/willnewby/simpletel-mcp:latest
(Passing the connection through -e below avoids the ownership question entirely and is the recommended path.)
Or pass everything through the environment:
docker run -i --rm \
-e SIMPLETEL_ENDPOINT=https://simpletel.dev \ -e SIMPLETEL_TEAM=<20-hex-team-id> \ ghcr.io/willnewby/simpletel-mcp:latest
As a JSON client entry:
{
"mcpServers": { "simpletel": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "SIMPLETEL_ENDPOINT=https://simpletel.dev", "-e", "SIMPLETEL_TEAM=<20-hex-team-id>", "ghcr.io/willnewby/simpletel-mcp:latest" ] } } }
The MCP transport is stdio, so -i (keep stdin open) is required and you must not add -t.
simpletel mcp [--endpoint URL] [--team <id-or-name>] [--admin-token TOKEN] [--config PATH]
| Variable | Purpose |
|---|---|
SIMPLETEL_ENDPOINT | Server base URL — no /v1/traces suffix (default http://localhost:4318). |
SIMPLETEL_TEAM | 20-hex team id, or a friendly name (name needs an admin token). |
SIMPLETEL_ADMIN_TOKEN | Token used to resolve a team *name*; not needed for a 20-hex id. |
SIMPLETEL_TOKEN | User token (stk_…) used by the usage tool. |
SIMPLETEL_CONFIG | Config file path (default ~/.simpletel/config.toml). |
simpletel mcp is launched as a subprocess by the client; it is not an HTTP/SSE endpoint.simpletel binary is fetched at build time by the Dockerfile; the repo ships no binary of its own — see Dockerfile for the build.| File | Purpose |
|---|---|
Dockerfile | Builds the stdio image from the published CLI. |
server.json | Official MCP Registry manifest (OCI package). CI rewrites the version/tag at publish time. |
glama.json | Maintainer metadata for Glama auto-indexing. |
llms-install.md | Install instructions for LLM agents / directory crawlers. |
.github/workflows/publish.yml | Builds and pushes ghcr.io/willnewby/simpletel-mcp and publishes to the registry. |
MIT — see LICENSE.