@cyanheads/openfec-mcp-server 0.2.2 → 0.2.3
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/CLAUDE.md +1 -1
- package/README.md +66 -34
- package/package.json +1 -1
- package/server.json +10 -4
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** openfec-mcp-server
|
|
4
|
-
**Version:** 0.2.
|
|
4
|
+
**Version:** 0.2.3
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
|
|
6
6
|
|
|
7
7
|
> **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
|
package/README.md
CHANGED
|
@@ -6,12 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
<div align="center">
|
|
8
8
|
|
|
9
|
-
[](https://www.npmjs.com/package/@cyanheads/openfec-mcp-server) [](./CHANGELOG.md) [](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [](https://modelcontextprotocol.io/)
|
|
10
10
|
|
|
11
11
|
[](./LICENSE) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
12
12
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
+
<div align="center">
|
|
16
|
+
|
|
17
|
+
**Public Hosted Server:** [https://openfec.caseyjhand.com/mcp](https://openfec.caseyjhand.com/mcp)
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
|
|
15
21
|
---
|
|
16
22
|
|
|
17
23
|
## Tools
|
|
@@ -169,6 +175,62 @@ OpenFEC-specific:
|
|
|
169
175
|
|
|
170
176
|
## Getting Started
|
|
171
177
|
|
|
178
|
+
### Public Hosted Instance
|
|
179
|
+
|
|
180
|
+
A public instance is available at `https://openfec.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:
|
|
181
|
+
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"mcpServers": {
|
|
185
|
+
"openfec": {
|
|
186
|
+
"type": "streamable-http",
|
|
187
|
+
"url": "https://openfec.caseyjhand.com/mcp"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Self-Hosted / Local
|
|
194
|
+
|
|
195
|
+
Add the following to your MCP client configuration file.
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"mcpServers": {
|
|
200
|
+
"openfec": {
|
|
201
|
+
"type": "stdio",
|
|
202
|
+
"command": "bunx",
|
|
203
|
+
"args": ["@cyanheads/openfec-mcp-server@latest"],
|
|
204
|
+
"env": {
|
|
205
|
+
"MCP_TRANSPORT_TYPE": "stdio",
|
|
206
|
+
"FEC_API_KEY": "your-api-key"
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Or with Docker:
|
|
214
|
+
|
|
215
|
+
```json
|
|
216
|
+
{
|
|
217
|
+
"mcpServers": {
|
|
218
|
+
"openfec": {
|
|
219
|
+
"type": "stdio",
|
|
220
|
+
"command": "docker",
|
|
221
|
+
"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "-e", "FEC_API_KEY=your-api-key", "ghcr.io/cyanheads/openfec-mcp-server:latest"]
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
For Streamable HTTP, set the transport and start the server:
|
|
228
|
+
|
|
229
|
+
```sh
|
|
230
|
+
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 FEC_API_KEY=your-key bun run start:http
|
|
231
|
+
# Server listens at http://localhost:3010/mcp
|
|
232
|
+
```
|
|
233
|
+
|
|
172
234
|
### Prerequisites
|
|
173
235
|
|
|
174
236
|
- [Bun v1.2.0](https://bun.sh/) or higher
|
|
@@ -177,44 +239,21 @@ OpenFEC-specific:
|
|
|
177
239
|
### Installation
|
|
178
240
|
|
|
179
241
|
1. **Clone the repository:**
|
|
242
|
+
|
|
180
243
|
```sh
|
|
181
244
|
git clone https://github.com/cyanheads/openfec-mcp-server.git
|
|
182
245
|
```
|
|
183
246
|
|
|
184
247
|
2. **Navigate into the directory:**
|
|
248
|
+
|
|
185
249
|
```sh
|
|
186
250
|
cd openfec-mcp-server
|
|
187
251
|
```
|
|
188
252
|
|
|
189
253
|
3. **Install dependencies:**
|
|
190
|
-
```sh
|
|
191
|
-
bun install
|
|
192
|
-
```
|
|
193
254
|
|
|
194
|
-
4. **Set up environment:**
|
|
195
255
|
```sh
|
|
196
|
-
|
|
197
|
-
# Edit .env and add your FEC_API_KEY
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### MCP Client Configuration
|
|
201
|
-
|
|
202
|
-
Add to your MCP client config (e.g., `claude_desktop_config.json`):
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"mcpServers": {
|
|
207
|
-
"openfec": {
|
|
208
|
-
"type": "stdio",
|
|
209
|
-
"command": "bun",
|
|
210
|
-
"args": ["run", "start:stdio"],
|
|
211
|
-
"cwd": "/path/to/openfec-mcp-server",
|
|
212
|
-
"env": {
|
|
213
|
-
"FEC_API_KEY": "your-api-key"
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
256
|
+
bun install
|
|
218
257
|
```
|
|
219
258
|
|
|
220
259
|
## Configuration
|
|
@@ -255,13 +294,6 @@ Add to your MCP client config (e.g., `claude_desktop_config.json`):
|
|
|
255
294
|
bun run test # Runs test suite
|
|
256
295
|
```
|
|
257
296
|
|
|
258
|
-
### Docker
|
|
259
|
-
|
|
260
|
-
```sh
|
|
261
|
-
docker build -t openfec-mcp-server .
|
|
262
|
-
docker run -e FEC_API_KEY=your-key -p 3010:3010 openfec-mcp-server
|
|
263
|
-
```
|
|
264
|
-
|
|
265
297
|
## Project Structure
|
|
266
298
|
|
|
267
299
|
| Directory | Purpose |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/openfec-mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"mcpName": "io.github.cyanheads/openfec-mcp-server",
|
|
5
5
|
"description": "Access FEC campaign finance data through MCP. Query data about candidates, money trails, and election filings. STDIO & Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
package/server.json
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.cyanheads/openfec-mcp-server",
|
|
4
|
-
"description": "Access FEC campaign finance data
|
|
4
|
+
"description": "Access FEC campaign finance data. Query data about candidates, money trails, and election filings.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/cyanheads/openfec-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.3",
|
|
10
|
+
"remotes": [
|
|
11
|
+
{
|
|
12
|
+
"type": "streamable-http",
|
|
13
|
+
"url": "https://openfec.caseyjhand.com/mcp"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
10
16
|
"packages": [
|
|
11
17
|
{
|
|
12
18
|
"registryType": "npm",
|
|
13
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
20
|
"identifier": "@cyanheads/openfec-mcp-server",
|
|
15
21
|
"runtimeHint": "bun",
|
|
16
|
-
"version": "0.2.
|
|
22
|
+
"version": "0.2.3",
|
|
17
23
|
"packageArguments": [
|
|
18
24
|
{ "type": "positional", "value": "run" },
|
|
19
25
|
{ "type": "positional", "value": "start:stdio" }
|
|
@@ -40,7 +46,7 @@
|
|
|
40
46
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
41
47
|
"identifier": "@cyanheads/openfec-mcp-server",
|
|
42
48
|
"runtimeHint": "bun",
|
|
43
|
-
"version": "0.2.
|
|
49
|
+
"version": "0.2.3",
|
|
44
50
|
"packageArguments": [
|
|
45
51
|
{ "type": "positional", "value": "run" },
|
|
46
52
|
{ "type": "positional", "value": "start:http" }
|