Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read-only MCP server for OddsRelay odds data, with a token cap on every call that spends tokens.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ODDSRELAY_KEY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"oddsrelay": {
"command": "npx",
"args": [
"-y",
"oddsrelay-mcp"
],
"env": {
"ODDSRELAY_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add oddsrelay --env ODDSRELAY_KEY=your-value -- npx -y oddsrelay-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"oddsrelay": {
"command": "npx",
"args": [
"-y",
"oddsrelay-mcp"
],
"env": {
"ODDSRELAY_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"oddsrelay": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"oddsrelay-mcp"
],
"env": {
"ODDSRELAY_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント oddsrelay で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ODDSRELAY_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.2)がレジストリに届いたのは8 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, dotnet-mcp
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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 .NET symbols, XAML, source generators, and restricted workspace edit
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An MCP server that gives an AI assistant read access to OddsRelay: matched boards, the prices for one event, and the sport, event, bookmaker and coverage lists behind them. It is read-only, and every call that spends tokens is priced first and refused above a per-call cap (max_tokens). The assistant is told to ask you before raising it.
It works with Claude Desktop, Claude Code, Cursor and any other client that starts MCP servers over stdio, and it is built on the oddsrelay TypeScript client.
API docs: https://oddsrelay.io/docs
Sign up at app.oddsrelay.io/signup and copy your key from the dashboard. Free gives you 50,000 tokens for 14 days from sign-up, with no card, then no tokens until you choose a plan, on the same key. Plans and token prices. Paid plans are for personal use. Any business, even one using the data only in-house, and any product that serves other people runs on Enterprise; a business can try the data on Free first.
You need an OddsRelay API key (Get a key, above). The server reads the key from ODDSRELAY_KEY. The bundle and the Gemini CLI extension set it for you; the other routes set it in your MCP client's config and need Node 18 or later.
Download oddsrelay-mcp.mcpb from the latest release and double-click it to install it in Claude Desktop, which asks for one setting: your API key. The setting is marked sensitive, so Claude Desktop masks it, and it passes the key to the server as ODDSRELAY_KEY. The bundle carries everything the server needs and runs on the Node built into Claude Desktop, so you need no Node of your own.
claude mcp add --transport stdio oddsrelay --env ODDSRELAY_KEY=your_key_here -- npx -y oddsrelay-mcp
Settings, Developer, Edit Config opens claude_desktop_config.json. Add the server, then restart Claude Desktop:
{
"mcpServers": { "oddsrelay": { "command": "npx", "args": ["-y", "oddsrelay-mcp"], "env": { "ODDSRELAY_KEY": "your_key_here" } } } }
Add the same mcpServers block to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project).
The key sits in that config file as plain text, so keep the file out of anything you commit.
gemini extensions install https://github.com/oddsrelay/oddsrelay-mcp
Gemini CLI installs the extension from the latest release, then asks for your API key, keeps it in your system keychain and passes it to the server as ODDSRELAY_KEY. The extension also loads the Agent Skill below.
Ask your assistant:
Using OddsRelay, which bookmakers carry tennis on the standard board?
That calls coverage, which costs no tokens. Then:
Show the OddsRelay standard board for soccer at Ladbrokes and William Hill, first five events.
The assistant finds the bookmaker keys with bookmakers, then calls odds, which is priced before it runs.
skills/oddsrelay/SKILL.md is an Agent Skill for assistants that load skills (Claude Code, Claude.ai and other skill-aware clients): when to reach for OddsRelay, how to quote a call before it spends tokens, and how to read the boards. It works with this server or with plain HTTPS.
| Tool | What it reads | Tokens |
|---|---|---|
sports | Sport and competition keys, paged | none |
events | The events of one sport, with their ids, paged | none |
bookmakers | Bookmaker and exchange keys | none |
coverage | Which bookmakers carry which sports on one product, and the product's market keys | none |
odds | A matched board (standard, 2up, dutching, each-way, extra-place or bog) for one sport at the bookmakers you name | priced first, capped |
event_odds | One event's prices at each bookmaker and exchange carrying it, narrowed to the bookmakers and markets you name | priced first, capped |
usage | Your plan, token balance, reset time and key scope | none |
odds and event_odds take a max_tokens argument with a small default. Before each call the server asks the API what the call would cost (a quote, which spends nothing). If it would cost more than max_tokens, the server makes no call, spends nothing and tells the assistant the price, so the assistant can narrow the filters or ask you before it tries again with a higher max_tokens.
odds always takes one sport and the bookmakers you name, so each call stays narrow. The cost is set by the filters you send; cutting the reply to limit rows does not change it. Every reply from these two tools carries tokens: what the call cost and what is left.
Both tools only read, but their MCP annotations mark them as calls with a cost rather than read-only, so a client that asks before such calls will ask you each time. event_odds reads the raw board, so it needs a key that can read raw odds.
Replies are compact JSON. Long lists are cut to limit rows (each tool has its own default) and to a size an assistant can read in one go, with a more note saying how many rows were left out and what to change to see them. Paged tools return next_cursor, which the assistant passes back as cursor; a page cut short goes on from the first row not shown.
Errors come back as tool errors with the API's error code and, where the API sends them, the values it accepts: ask for an unknown bookmaker and the error lists the keys it accepts.
The server reads the key only from ODDSRELAY_KEY and sends it only to https://api.oddsrelay.io, in the Authorization header. It never puts the key in a tool reply or an error: if an error ever echoed it, it would be replaced with [hidden]. The server logs nothing.
No tool writes anything, reads or writes files, or calls any host but the OddsRelay API.
npm ci
npm test
The tests run the server against a stubbed fetch and make no network calls. npm run bundle builds oddsrelay-mcp.mcpb from dist and the installed dependencies: manifest.json describes the bundle, and .mcpbignore keeps sources, tests and development packages out of it. To try the built server by hand, npx @modelcontextprotocol/inspector node dist/cli.js opens it in the MCP Inspector.
pip install oddsrelaynpm install oddsrelayMIT