Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Explore likely radio services, channels, and emissions from 108 MHz to 1 GHz.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"mellow-tapir": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/guycole/mellow-tapir-mcp:1.0.2"
]
}
}
}ターミナルでこれを実行します
claude mcp add mellow-tapir -- docker run -i --rm ghcr.io/guycole/mellow-tapir-mcp:1.0.2プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mellow-tapir": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/guycole/mellow-tapir-mcp:1.0.2"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mellow-tapir": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/guycole/mellow-tapir-mcp:1.0.2"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント guycole で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.2)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, sync. labs
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
This directory contains an MCP server with both stdio and streamable HTTP transports. The server uses data from src/tapir_schema/seed.json and source schema text from src/tapir_schema/schema.sql, then serves a read-only SQLite catalog.
Use the existing local virtual environment:
cd src/tapir_mcp_server
./venv/bin/python -m pip install -r requirements.txt
cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
./venv/bin/python -m mcp_server.build_db \ --db-path data/tapir.sqlite \ --seed-path ../tapir_schema/seed.json \ --schema-path ../tapir_schema/schema.sql
cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
TAPIR_DB_PATH=data/tapir.sqlite \ TAPIR_SEED_PATH=../tapir_schema/seed.json \ TAPIR_SCHEMA_PATH=../tapir_schema/schema.sql \ ./venv/bin/python -m mcp_server --transport stdio
cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
TAPIR_DB_PATH=data/tapir.sqlite \ TAPIR_SEED_PATH=../tapir_schema/seed.json \ TAPIR_SCHEMA_PATH=../tapir_schema/schema.sql \ REFERENCE_LLM_MODEL=gpt-oss:20b \ OLLAMA_BASE_URL=http://127.0.0.1:11434 \ ./venv/bin/python -m mcp_server \ --transport http --host 0.0.0.0 --port 8000 --path /mcp
Start Ollama and ensure the reference model is available:
ollama serve
In another terminal:
ollama pull gpt-oss:20b
ollama run gpt-oss:20b "Summarize the purpose of this MCP server in one sentence."
Run the MCP server with the same local Ollama endpoint:
cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
TAPIR_DB_PATH=data/tapir.sqlite \ TAPIR_SEED_PATH=../tapir_schema/seed.json \ TAPIR_SCHEMA_PATH=../tapir_schema/schema.sql \ REFERENCE_LLM_MODEL=gpt-oss:20b \ OLLAMA_BASE_URL=http://127.0.0.1:11434 \ ./venv/bin/python -m mcp_server --transport http --host 127.0.0.1 --port 8000 --path /mcp
When connected with an MCP client, call ask_reference_model with a test prompt. If Ollama is reachable and the model is present, the tool returns a response body and metadata including model and done status.
This sample session verifies end-to-end behavior:
gpt-oss:20b.Terminal 1: start Ollama
ollama serve
Terminal 2: pull model and optional sanity prompt
ollama pull gpt-oss:20b
ollama run gpt-oss:20b "Reply with: Ollama ready"
Terminal 3: start Tapir MCP server
cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
./venv/bin/python -m mcp_server.build_db \ --db-path data/tapir.sqlite \ --seed-path ../tapir_schema/seed.json \ --schema-path ../tapir_schema/schema.sql
TAPIR_DB_PATH=data/tapir.sqlite \ TAPIR_SEED_PATH=../tapir_schema/seed.json \ TAPIR_SCHEMA_PATH=../tapir_schema/schema.sql \ REFERENCE_LLM_MODEL=gpt-oss:20b \ OLLAMA_BASE_URL=http://127.0.0.1:11434 \ ./venv/bin/python -m mcp_server --transport http --host 127.0.0.1 --port 8000 --path /mcp
Terminal 4: sample client requests
cd /Users/gsc/github/mellow-tapir
/Users/gsc/github/mellow-tapir/src/tapir_mcp_server/venv/bin/python - <<'PY' import anyio from mcp.client.session import ClientSession from mcp.client.streamable_http import streamable_http_client
async def main() -> None: async with streamable_http_client("http://127.0.0.1:8000/mcp") as ( read_stream, write_stream, ): session = ClientSession(read_stream, write_stream) async with session: await session.initialize()
classify = await session.call_tool( "classify_frequency", {"frequency": "121.5"} ) print("classify_frequency:") print(classify.content[0].text)
llm = await session.call_tool( "ask_reference_model", { "prompt": "Explain 121.5 MHz in one sentence.", "temperature": 0.1, }, ) print("ask_reference_model:") print(llm.content[0].text)
anyio.run(main) PY
Expected outcome:
classify_frequency returns aviation emergency channel data around 121.5 MHz.ask_reference_model returns a completion from local Ollama model gpt-oss:20b.classify_frequencyfrequency as numeric Hz, MHz string (121.5), or explicit unit (121.5MHz).query_channelslower_hz, upper_hz, optional limit.search_servicesservice_query, optional limit.execute_readonly_sqlSELECT or WITH query and optional limit.ask_reference_modelprompt, optional system_prompt, optional temperature.gpt-oss:20b (override with REFERENCE_LLM_MODEL).tapir://metadatatapir://sources/seed-jsontapir://sources/schema-sqlBuild locally:
cd /Users/gsc/github/mellow-tapir
docker build -f src/tapir_mcp_server/Dockerfile -t tapir-mcp:local .
Run:
docker run --rm -p 8080:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \ tapir-mcp:local
The GitHub Actions workflow in .github/workflows/tapir-mcp-server-image.yml publishes images to GitHub Container Registry.
The SQLite database in data/tapir.sqlite is generated from two source files:
src/tapir_schema/seed.json: canonical editable catalog of bands, emissions, and channels.src/tapir_schema/schema.sql: source PostgreSQL schema retained for provenance and parity checks.Generation is handled by mcp_server.build_db, which:
band, band_emission, channel, dataset_metadata),seed.json,When updating the dataset in the future:
src/tapir_schema/seed.json.src/tapir_schema/schema.sql if source-schema intent changed.cd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server
./venv/bin/python -m mcp_server.build_db \ --db-path data/tapir.sqlite \ --seed-path ../tapir_schema/seed.json \ --schema-path ../tapir_schema/schema.sql
The container image build also runs this same build step during docker build, so image contents stay aligned with the latest checked-in seed.json and schema.sql.