{"_id":"@alphadezede/mcp-server","name":"@alphadezede/mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alphadezede/mcp-server","version":"1.0.0","mcpName":"io.github.alphazede/mcp-server","description":"AlphaZede Sports MCP Server — real-time odds, player props, and parlay analysis via the Model Context Protocol","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"azs-mcp-server":"dist/index.js"},"exports":{".":"./dist/index.js"},"scripts":{"build":"tsc","typecheck":"tsc --noEmit","test":"vitest run","pack-dryrun":"npm pack --dry-run --json"},"keywords":["alphazede","sports","mcp","model-context-protocol","sports-betting","fantasy-sports","sports-analytics","azs"],"author":{"name":"AlphaZede Sports"},"license":"Apache-2.0","homepage":"https://github.com/alphazede/developers/tree/main/az-sports-dev/packages/mcp-server#readme","repository":{"type":"git","url":"git+https://github.com/alphazede/developers.git","directory":"az-sports-dev/packages/mcp-server"},"bugs":{"url":"https://github.com/alphazede/developers/issues"},"engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","zod":"^3.23.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0","vitest":"^4.1.2"},"gitHead":"0816fd589b0125737694f17c698c374ac51b86d3","_id":"@alphadezede/mcp-server@1.0.0","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-ncl91oejW+Tt4BEWrh5aFEp9p+O6hRCXHOpSEuiwSPa2yaCg859wXr11BHtAPM9kRgmH5d+jcMHO7HKJdrzQZA==","shasum":"d004a339f6a23b2763d225769efdcda7426391fc","tarball":"https://registry.npmjs.org/@alphadezede/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":96,"unpackedSize":243255,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alphadezede%2fmcp-server@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDYbION3+XP1KXJR6FTpEvvHOqPrBYHlyApbbPi0UjReAiBa2Om6xuFxlJKy6X7oDFErdySryBcZE4CJaPhKAHVwBg=="}]},"_npmUser":{"name":"alphadezedesports","email":"1wgrumph@gmail.com"},"directories":{},"maintainers":[{"name":"alphadezedesports","email":"1wgrumph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_1.0.0_1782227545984_0.2595773435690596"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T15:12:25.814Z","1.0.0":"2026-06-23T15:12:26.113Z","modified":"2026-06-23T15:12:26.555Z"},"maintainers":[{"name":"alphadezedesports","email":"1wgrumph@gmail.com"}],"description":"AlphaZede Sports MCP Server — real-time odds, player props, and parlay analysis via the Model Context Protocol","homepage":"https://github.com/alphazede/developers/tree/main/az-sports-dev/packages/mcp-server#readme","keywords":["alphazede","sports","mcp","model-context-protocol","sports-betting","fantasy-sports","sports-analytics","azs"],"repository":{"type":"git","url":"git+https://github.com/alphazede/developers.git","directory":"az-sports-dev/packages/mcp-server"},"author":{"name":"AlphaZede Sports"},"bugs":{"url":"https://github.com/alphazede/developers/issues"},"license":"Apache-2.0","readme":"# AlphaZede Sports MCP Server\n\n## Overview\n\nThe AlphaZede Sports MCP Server exposes the AlphaZede Sports API through the\nModel Context Protocol (MCP). It is designed as an operator-installed gateway:\nthe MCP client talks to `azs-mcp-server`, and the server forwards authenticated,\nidentity-bound requests to the upstream API.\n\nThe server exposes 13 tools:\n\n- `find_game_markets`\n- `analyze_parlay`\n- `price_player_prop`\n- `explain_edge`\n- `get_daily_picks`\n- `get_futures`\n- `get_alerts`\n- `get_ml_projection`\n- `get_arb_opportunities`\n- `get_dfs_lineups`\n- `get_forecasts`\n- `get_fantasy_projections`\n- `get_fantasy_workspace`\n\nSupported clients include MCP-compatible desktop apps, CLI hosts,\nassistant-action surfaces, developer tools, and the AlphaZede browser extension.\n\n## Quick Start\n\nInstall dependencies and build the package from the repo root:\n\n```bash\npnpm install\npnpm --filter @alphadezede/mcp-server build\n```\n\nDuring local development, link the binary globally from this package directory:\n\n```bash\ncd packages/mcp-server\nnpm link\n# or\npnpm link --global\n```\n\nConfirm the binary is available:\n\n```bash\nazs-mcp-server help\n```\n\n## Login\n\nAuthenticate before starting the MCP server:\n\n```bash\nazs-mcp-server login\n```\n\nThe login command opens a browser, starts a temporary loopback callback listener,\nperforms OAuth code flow with PKCE S256, and stores the resulting token under\n`~/.config/alphazede-sports/`.\n\nUse a client-specific registration when needed:\n\n```bash\nazs-mcp-server login --client=azs-desktop-mcp\n```\n\nAccepted first-party client IDs are assigned per supported integration surface.\n\nIf a browser cannot be opened automatically, run:\n\n```bash\nazs-mcp-server login --print-auth-url\n```\n\n<!-- install:begin -->\n\n## Compatibility\n\nThe MCP server is host-mediated, not model-mediated — your choice of LLM is a\nhost-level configuration. The server passes tool calls to the host's MCP runtime;\nthe host then routes through whatever model you've configured.\n\nPer-host install snippets are below.\n\n### Claude Desktop\n\nConfig path:\n- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\n- Windows: %APPDATA%\\Claude\\claude_desktop_config.json\n- Linux: ~/.config/Claude/claude_desktop_config.json\n\n```json\n{\n  \"mcpServers\": {\n    \"alphazede-sports\": {\n      \"command\": \"azs-mcp-server\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\n> Restart the app after saving the config file.\n\n### Claude Code\n\nConfig path: Project scope (.claude.json) or user scope (~/.claude.json).\n\n```bash\nclaude mcp add alphazede-sports azs-mcp-server -- serve\n```\n\n> Use --scope user before the server name to add at user scope: claude mcp add --scope user alphazede-sports azs-mcp-server -- serve\n\n### Cursor\n\nConfig path:\n- Project: .cursor/mcp.json\n- Global: ~/.cursor/mcp.json\n\n```json\n{\n  \"mcpServers\": {\n    \"alphazede-sports\": {\n      \"command\": \"azs-mcp-server\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\n> Create the file if it does not exist. Project-scoped config takes precedence.\n\n### Cline\n\nConfig path: VS Code extension storage (accessible via Cline sidebar → MCP Servers → Edit MCP Settings).\n\n```json\n{\n  \"alphazede-sports\": {\n    \"command\": \"azs-mcp-server\",\n    \"args\": [\"serve\"]\n  }\n}\n```\n\n> Open the Cline extension sidebar, click \"MCP Servers\", then \"Edit MCP Settings\" to open the JSON config.\n\n### Codex CLI\n\nConfig path: ~/.codex/config.toml (TOML format) or via CLI command.\n\n```bash\ncodex mcp add alphazede-sports -- azs-mcp-server serve\n```\n\n> Or add manually to ~/.codex/config.toml under [mcp_servers.alphazede-sports] in TOML format.\n\n### Gemini CLI\n\nConfig path:\n- User scope: ~/.gemini/settings.json\n- Project scope: .gemini/settings.json (in your project root)\n\n```json\n{\n  \"mcpServers\": {\n    \"alphazede-sports\": {\n      \"command\": \"azs-mcp-server\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\n> Use --scope user to add at user scope: gemini mcp add --scope user alphazede-sports azs-mcp-server serve\n\n### ChatGPT Desktop\n\nConfig path: App Settings → Tools & Plugins → MCP Servers.\n\n```json\n{\n  \"command\": \"azs-mcp-server\",\n  \"args\": [\"serve\"]\n}\n```\n\n> macOS only (as of 2025). MCP support is not available in the Windows or Linux ChatGPT Desktop apps. Check App Settings → MCP Servers.\n\n### Zed\n\nConfig path:\n- Project: .zed/settings.json\n- Global: ~/.config/zed/settings.json\n\n```json\n{\n  \"context_servers\": {\n    \"alphazede-sports\": {\n      \"command\": {\n        \"path\": \"azs-mcp-server\",\n        \"args\": [\"serve\"]\n      }\n    }\n  }\n}\n```\n\n> Zed uses the context_servers key. Restart Zed after editing settings.\n\n### Continue\n\nConfig path: .continue/config.json (project) or ~/.continue/config.json (user).\n\n```json\n{\n  \"experimental\": {\n    \"modelContextProtocolServers\": [\n      {\n        \"transport\": {\n          \"type\": \"stdio\",\n          \"command\": \"azs-mcp-server\",\n          \"args\": [\"serve\"]\n        }\n      }\n    ]\n  }\n}\n```\n\n> Add the entry inside the experimental.modelContextProtocolServers array in your Continue config.\n\n### Windsurf\n\nConfig path: ~/.codeium/windsurf/mcp_settings.json\n\n```json\n{\n  \"mcpServers\": {\n    \"alphazede-sports\": {\n      \"command\": \"azs-mcp-server\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\n> Create the file if it does not exist.\n\n### Open Interpreter\n\nConfig path: Profile config or CLI flag.\n\n```bash\ninterpreter --mcp-server \"azs-mcp-server serve\"\n```\n\n> Or add to your Open Interpreter profile under mcp_servers. See Open Interpreter documentation for the current config file location.\n\n<!-- install:end -->\n\n## HTTP Transport Variant\n\nStdio is the default transport for desktop and CLI MCP hosts. For assistant\nactions, the browser extension, and local HTTP development, start the streamable\nHTTP transport:\n\n```bash\nazs-mcp-server serve --http :3000\n```\n\nLocal HTTP binds to loopback by default. Production non-loopback binding requires\nboth an explicit flag and an environment assertion:\n\n```bash\nAZS_MCP_PRODUCTION=1 azs-mcp-server serve --http 0.0.0.0:3000 --allow-non-loopback\n```\n\nTerminate TLS at the reverse proxy in production. Do not expose plain HTTP\ndirectly on a public interface.\n\nOAuth protected-resource discovery is available at:\n\n```text\n/.well-known/oauth-protected-resource\n```\n\n## Environment Variables\n\n| Variable | Description | Default |\n| --- | --- | --- |\n| `AZS_API_URL` | Upstream AlphaZede Sports API base URL. | `https://api.alphazedesports.com` |\n| `AZS_API_KEY` | Optional local token fallback. OAuth token storage is preferred. System tokens require `AZS_MCP_DEV_MODE=1` and stdio. | Unset |\n| `AZS_LOG_LEVEL` | Server log level. | `info` |\n| `AZS_TIMEZONE` | Timezone used by date/time formatting helpers. | `America/New_York` |\n| `AZS_MCP_CLIENT_ID` | Default OAuth client ID and outbound gateway attribution when token storage does not provide one. | Assigned per integration |\n| `AZS_MCP_DEV_MODE` | Enables stdio-only SystemToken development mode when set to `1`; HTTP transport refuses to start in this mode. | Unset |\n| `AZS_MCP_PRODUCTION` | Required as `1` for non-loopback HTTP binding. | Unset |\n| `AZS_MCP_OBS_DEST` | Observability event destination: `stderr`, `file:/path/to/events.jsonl`, or `upstream`. | `stderr` |\n| `AZS_MCP_OBS_HMAC_SECRET` | Optional 32-byte hex HMAC key for stable `params_hash` and `identity_key` correlation across restarts. | Random process key |\n| `AZS_MCP_LOGIN_TIMEOUT_MS` | OAuth login callback timeout in milliseconds. | `300000` |\n| `AZS_MCP_HTTP_RATE_LIMIT_PER_MIN` | Per-token HTTP request limit per minute. | `100` |\n| `AZS_MCP_HTTP_MAX_INFLIGHT` | Global maximum number of in-flight HTTP requests. | `50` |\n\n## Technical Reference\n\nSee the public developer repository docs for MCP installation, authentication, and API usage guidance.\n\n## License\n\n[Apache-2.0](./LICENSE) © 2026 AlphaZede Sports\n\n## Maintainer\n\nAlphaZede Sports platform engineering.\n","readmeFilename":"README.md","_rev":"1-646ef4ccca88c1013a5bc73902dd42db"}