footballbin-mcp-server 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +77 -159
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,126 +1,72 @@
1
1
  # FootballBin MCP Server
2
2
 
3
- A Model Context Protocol (MCP) server that provides AI agents with access to football match predictions for the Premier League and Champions League.
4
-
5
- ## What is MCP?
3
+ [![npm version](https://img.shields.io/npm/v/footballbin-mcp-server.svg)](https://www.npmjs.com/package/footballbin-mcp-server)
4
+ [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- The [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open protocol that enables AI agents to securely access external tools and data sources. This server implements MCP to expose football match predictions to any MCP-compatible AI client.
7
+ A Model Context Protocol (MCP) server that provides AI agents with access to football match predictions for the Premier League and Champions League.
8
8
 
9
- ## Features
9
+ ## Installation
10
10
 
11
- - **AI Match Predictions**: Get predictions for upcoming matches including:
12
- - Half-time score
13
- - Full-time score
14
- - Next goal scorer
15
- - Corner count predictions
11
+ ### Option 1: npm (Recommended)
16
12
 
17
- - **Supported Leagues**:
18
- - Premier League (EPL)
19
- - UEFA Champions League (UCL)
13
+ ```bash
14
+ npm install -g footballbin-mcp-server
15
+ ```
20
16
 
21
- - **Key Players**: Each match includes key player insights with reasoning
17
+ ### Option 2: npx (No Install)
22
18
 
23
- ## Live Endpoint
19
+ ```bash
20
+ npx footballbin-mcp-server
21
+ ```
24
22
 
25
- The FootballBin MCP server is publicly available:
23
+ ### Option 3: Remote Endpoint
26
24
 
25
+ No installation required - use the hosted endpoint directly:
27
26
  ```
28
27
  https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp
29
28
  ```
30
29
 
31
- No API key required.
32
-
33
- ## Usage
30
+ ## Quick Start
34
31
 
35
- ### Connect via Claude Desktop
32
+ ### Claude Desktop
36
33
 
37
- Add this to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
34
+ Add to your `claude_desktop_config.json`:
38
35
 
39
36
  ```json
40
37
  {
41
38
  "mcpServers": {
42
39
  "footballbin": {
43
- "url": "https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp"
40
+ "command": "npx",
41
+ "args": ["footballbin-mcp-server"]
44
42
  }
45
43
  }
46
44
  }
47
45
  ```
48
46
 
49
- ### Connect via Claude.ai
47
+ **Config file location:**
48
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
49
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
50
+
51
+ ### Claude.ai (Remote)
50
52
 
51
53
  1. Go to **Settings > Connectors**
52
54
  2. Click **Add custom connector**
53
- 3. Enter the endpoint URL
54
- 4. Start asking about football predictions!
55
-
56
- ### Direct API Usage
57
-
58
- #### List Available Tools
59
-
60
- ```bash
61
- curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
62
- -H "Content-Type: application/json" \
63
- -d '{
64
- "jsonrpc": "2.0",
65
- "method": "tools/list",
66
- "id": 1
67
- }'
68
- ```
69
-
70
- #### Get Premier League Predictions
55
+ 3. Enter: `https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp`
71
56
 
72
- ```bash
73
- curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
74
- -H "Content-Type: application/json" \
75
- -d '{
76
- "jsonrpc": "2.0",
77
- "method": "tools/call",
78
- "params": {
79
- "name": "get_match_predictions",
80
- "arguments": {
81
- "league": "premier_league"
82
- }
83
- },
84
- "id": 1
85
- }'
86
- ```
87
-
88
- #### Get Champions League Predictions
57
+ ## Features
89
58
 
90
- ```bash
91
- curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
92
- -H "Content-Type: application/json" \
93
- -d '{
94
- "jsonrpc": "2.0",
95
- "method": "tools/call",
96
- "params": {
97
- "name": "get_match_predictions",
98
- "arguments": {
99
- "league": "ucl"
100
- }
101
- },
102
- "id": 1
103
- }'
104
- ```
59
+ - **AI Match Predictions**:
60
+ - Half-time score
61
+ - Full-time score
62
+ - Next goal scorer
63
+ - Corner count predictions
105
64
 
106
- #### Filter by Team
65
+ - **Supported Leagues**:
66
+ - Premier League (EPL)
67
+ - UEFA Champions League (UCL)
107
68
 
108
- ```bash
109
- curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
110
- -H "Content-Type: application/json" \
111
- -d '{
112
- "jsonrpc": "2.0",
113
- "method": "tools/call",
114
- "params": {
115
- "name": "get_match_predictions",
116
- "arguments": {
117
- "league": "epl",
118
- "home_team": "liverpool"
119
- }
120
- },
121
- "id": 1
122
- }'
123
- ```
69
+ - **Key Players**: Each match includes key player insights with reasoning
124
70
 
125
71
  ## Tool: get_match_predictions
126
72
 
@@ -128,15 +74,13 @@ curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp
128
74
 
129
75
  | Parameter | Type | Required | Description |
130
76
  |-----------|------|----------|-------------|
131
- | `league` | string | Yes | League identifier. Accepts: `premier_league`, `epl`, `pl`, `champions_league`, `ucl`, `cl` |
132
- | `matchweek` | number | No | Matchweek number (defaults to current matchweek) |
133
- | `home_team` | string | No | Filter by home team (e.g., `chelsea`, `arsenal`, `man_utd`) |
77
+ | `league` | string | Yes | `premier_league`, `epl`, `pl`, `champions_league`, `ucl`, `cl` |
78
+ | `matchweek` | number | No | Matchweek number (defaults to current) |
79
+ | `home_team` | string | No | Filter by home team (e.g., `chelsea`, `arsenal`) |
134
80
  | `away_team` | string | No | Filter by away team (e.g., `liverpool`, `wolves`) |
135
81
 
136
82
  ### Team Aliases
137
83
 
138
- The API supports common team aliases:
139
-
140
84
  | Alias | Maps To |
141
85
  |-------|---------|
142
86
  | `united`, `mufc` | `man_utd` |
@@ -150,9 +94,8 @@ The API supports common team aliases:
150
94
  | `blues` | `chelsea` |
151
95
  | `barca` | `barcelona` |
152
96
  | `real` | `real_madrid` |
153
- | `bayern_munich` | `bayern` |
154
97
 
155
- ### Response Format
98
+ ### Example Response
156
99
 
157
100
  ```json
158
101
  {
@@ -160,15 +103,12 @@ The API supports common team aliases:
160
103
  "matchweek": 22,
161
104
  "count": 10,
162
105
  "app_link": "https://apps.apple.com/app/footballbin/id6757111871",
163
- "note": "Download FootballBin for live match tracking, player valuations, and detailed predictions.",
164
106
  "matches": [
165
107
  {
166
108
  "match_id": "epl_mw22_liv_bur",
167
109
  "home_team": "Liverpool",
168
110
  "away_team": "Burnley",
169
111
  "kickoff_time": "2026-01-17T15:00:00Z",
170
- "kickoff_formatted": "Sat 17 Jan 15:00",
171
- "countdown": "7d 3h",
172
112
  "status": "scheduled",
173
113
  "predictions": [
174
114
  { "type": "Half Time Result", "value": "2:0", "confidence": 75 },
@@ -178,14 +118,8 @@ The API supports common team aliases:
178
118
  ],
179
119
  "key_players": [
180
120
  {
181
- "player_id": "florian_wirtz",
182
121
  "player_name": "Florian Wirtz",
183
- "reason": "12 goals, 14 assists. Liverpool's creative hub with 89 form rating."
184
- },
185
- {
186
- "player_id": "zian_flemming",
187
- "player_name": "Zian Flemming",
188
- "reason": "6 goals, 3 assists. Burnley's top scorer and set-piece specialist."
122
+ "reason": "12 goals, 14 assists. Liverpool's creative hub."
189
123
  }
190
124
  ]
191
125
  }
@@ -193,6 +127,38 @@ The API supports common team aliases:
193
127
  }
194
128
  ```
195
129
 
130
+ ## Direct API Usage
131
+
132
+ ### List Tools
133
+
134
+ ```bash
135
+ curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
136
+ -H "Content-Type: application/json" \
137
+ -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
138
+ ```
139
+
140
+ ### Get Predictions
141
+
142
+ ```bash
143
+ curl -X POST https://ru7m5svay1.execute-api.eu-central-1.amazonaws.com/prod/mcp \
144
+ -H "Content-Type: application/json" \
145
+ -d '{
146
+ "jsonrpc": "2.0",
147
+ "method": "tools/call",
148
+ "params": {
149
+ "name": "get_match_predictions",
150
+ "arguments": {"league": "premier_league"}
151
+ },
152
+ "id": 1
153
+ }'
154
+ ```
155
+
156
+ ## Registry Links
157
+
158
+ - **npm**: https://www.npmjs.com/package/footballbin-mcp-server
159
+ - **Official MCP Registry**: https://registry.modelcontextprotocol.io
160
+ - **GitHub**: https://github.com/billychl1/footballbin-mcp-server
161
+
196
162
  ## FootballBin App
197
163
 
198
164
  Get the full experience with the FootballBin iOS app:
@@ -204,68 +170,21 @@ Features:
204
170
  - AI player valuations
205
171
  - Detailed match predictions
206
172
  - Player news and discussions
207
- - Squad browsers for all major leagues
208
173
 
209
174
  ## Technical Details
210
175
 
211
- ### Protocol
212
-
213
- - **Protocol**: JSON-RPC 2.0
214
- - **Transport**: HTTPS POST
215
- - **Content-Type**: application/json
216
-
217
- ### Infrastructure
218
-
219
- - **Runtime**: AWS Lambda (Node.js 20.x)
220
- - **Database**: Amazon DynamoDB
221
- - **API Gateway**: AWS API Gateway
222
- - **Region**: eu-central-1 (Frankfurt)
176
+ - **Protocol**: JSON-RPC 2.0 / MCP
177
+ - **Transport**: stdio (npm) or HTTPS (remote)
178
+ - **Runtime**: Node.js 20+
223
179
 
224
180
  ### Error Codes
225
181
 
226
182
  | Code | Meaning |
227
183
  |------|---------|
228
- | -32700 | Parse error (invalid JSON) |
184
+ | -32700 | Parse error |
229
185
  | -32600 | Invalid request |
230
186
  | -32601 | Method not found |
231
187
  | -32602 | Invalid params |
232
- | -32603 | Internal error |
233
-
234
- ## Self-Hosting
235
-
236
- If you want to deploy your own instance:
237
-
238
- ### Prerequisites
239
-
240
- - Node.js 20+
241
- - AWS Account with DynamoDB access
242
- - AWS SAM CLI
243
-
244
- ### Deploy
245
-
246
- ```bash
247
- # Clone the repository
248
- git clone https://github.com/billychl1/footballbin-mcp-server.git
249
- cd footballbin-mcp-server
250
-
251
- # Install dependencies
252
- npm install
253
-
254
- # Build
255
- npm run build
256
-
257
- # Deploy with SAM
258
- sam deploy --guided
259
- ```
260
-
261
- ### Environment Variables
262
-
263
- | Variable | Description | Default |
264
- |----------|-------------|---------|
265
- | `MATCHES_TABLE` | DynamoDB table for matches | `footballbin-matches-prod` |
266
- | `MATCHWEEKS_TABLE` | DynamoDB table for matchweeks | `footballbin-matchweeks-prod` |
267
- | `DEFAULT_REGION` | AWS region | `eu-central-1` |
268
- | `APP_STORE_LINK` | App Store URL | `https://apps.apple.com/app/footballbin/id6757111871` |
269
188
 
270
189
  ## License
271
190
 
@@ -275,4 +194,3 @@ MIT License - see [LICENSE](LICENSE) file.
275
194
 
276
195
  - [FootballBin App](https://apps.apple.com/app/footballbin/id6757111871)
277
196
  - [Model Context Protocol](https://modelcontextprotocol.io)
278
- - [MCP Specification](https://spec.modelcontextprotocol.io)
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "footballbin-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "MCP server for FootballBin football match predictions - Premier League & Champions League",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
- "footballbin-mcp": "./dist/index.js"
8
+ "footballbin-mcp-server": "./dist/index.js"
9
9
  },
10
10
  "mcpName": "io.github.billychl1/footballbin-mcp-server",
11
11
  "scripts": {