GoalCast Server
БесплатноНе проверенEnables registering predictions and checking pool status for match predictions on the Injective testnet via MCP.
Описание
Enables registering predictions and checking pool status for match predictions on the Injective testnet via MCP.
README
A small, standards-compliant MCP server (using the official
@modelcontextprotocol/sdk, Streamable HTTP transport) that wraps the
PredictionPool CosmWasm contract deployed on Injective testnet. It exposes
exactly two tools:
| Tool | What it does |
|---|---|
register_prediction |
Signs and broadcasts RegisterPrediction to the contract |
get_pool_status |
Reads the current home/draw/away split for a match |
This is what GoalCast's Next.js app (lib/injective.ts) connects to as a
real MCP client — not a hand-rolled REST bridge.
Setup
cd mcp-server
npm install
cp .env.example .env
Fill .env:
INJECTIVE_PRIVATE_KEY=<testnet wallet private key, no 0x needed either way>
INJECTIVE_NETWORK=testnet
PREDICTION_POOL_CONTRACT_ADDRESS=inj1... # from DEPLOY.md step 4
PORT=8787
Use a dedicated testnet-only wallet here — this key signs every prediction the server submits. In this hackathon MVP the MCP server's wallet is the signer for all predictions (see "Known limitation" below).
Run it:
npm run dev
You should see:
GoalCast MCP server listening on http://localhost:8787/mcp
Connect the Next.js app to it
In the main app's .env.local:
INJECTIVE_MCP_SERVER_URL=http://localhost:8787/mcp
Restart npm run dev in the app root. lib/injective.ts will now call the
real tools instead of its simulated fallback.
Test it directly (without the app)
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "get_pool_status", "arguments": { "matchId": "m-usa-mex-01" } }
}'
Or point the MCP Inspector at
http://localhost:8787/mcp for a UI to browse and call the tools.
Known limitation (worth mentioning in your demo/judging notes)
Right now the MCP server's own wallet signs every prediction — a fan's "vote" is broadcast by the server, not by their own wallet. That's fine for a hackathon MVP (it proves the full MCP → contract → chain path works), but a production version should have the fan sign client-side (e.g. via Keplr) and have the MCP server only build the unsigned tx, or verify a fan-signed payload before relaying it. Worth a sentence in your submission write-up — judges tend to reward projects that name their own known limitations over ones that gloss over them.
Установка GoalCast Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ilham-sptr/mcp-serverFAQ
GoalCast Server MCP бесплатный?
Да, GoalCast Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для GoalCast Server?
Нет, GoalCast Server работает без API-ключей и переменных окружения.
GoalCast Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить GoalCast Server в Claude Desktop, Claude Code или Cursor?
Открой GoalCast Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare GoalCast Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
