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.
- package/README.md +77 -159
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,126 +1,72 @@
|
|
|
1
1
|
# FootballBin MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/footballbin-mcp-server)
|
|
4
|
+
[](https://registry.modelcontextprotocol.io)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
##
|
|
9
|
+
## Installation
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
- Half-time score
|
|
13
|
-
- Full-time score
|
|
14
|
-
- Next goal scorer
|
|
15
|
-
- Corner count predictions
|
|
11
|
+
### Option 1: npm (Recommended)
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g footballbin-mcp-server
|
|
15
|
+
```
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
### Option 2: npx (No Install)
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
```bash
|
|
20
|
+
npx footballbin-mcp-server
|
|
21
|
+
```
|
|
24
22
|
|
|
25
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
## Usage
|
|
30
|
+
## Quick Start
|
|
34
31
|
|
|
35
|
-
###
|
|
32
|
+
### Claude Desktop
|
|
36
33
|
|
|
37
|
-
Add
|
|
34
|
+
Add to your `claude_desktop_config.json`:
|
|
38
35
|
|
|
39
36
|
```json
|
|
40
37
|
{
|
|
41
38
|
"mcpServers": {
|
|
42
39
|
"footballbin": {
|
|
43
|
-
"
|
|
40
|
+
"command": "npx",
|
|
41
|
+
"args": ["footballbin-mcp-server"]
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
```
|
|
48
46
|
|
|
49
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
|
|
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
|
-
|
|
65
|
+
- **Supported Leagues**:
|
|
66
|
+
- Premier League (EPL)
|
|
67
|
+
- UEFA Champions League (UCL)
|
|
107
68
|
|
|
108
|
-
|
|
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 |
|
|
132
|
-
| `matchweek` | number | No | Matchweek number (defaults to current
|
|
133
|
-
| `home_team` | string | No | Filter by home team (e.g., `chelsea`, `arsenal
|
|
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
|
|
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
|
|
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
|
-
|
|
212
|
-
|
|
213
|
-
- **
|
|
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
|
|
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.
|
|
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": {
|