You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e91b370
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,13 @@ Partiful has no public API and no official MCP server. This repo gives you both:
8
8
9
9
-**MCP server** for Claude Code, Claude Desktop, Cursor, Codex and any MCP client, over stdio or HTTP. [Setup](#mcp-server)
10
10
-**REST API** on `http://127.0.0.1:8787/api/v1/partiful`, with OpenAPI docs at `/docs`. [Setup](#rest-api)
11
-
-**Python**: `call("list_guests", event_id="...")`, plus 9 ready scripts in [`examples/`](examples/).
11
+
-**Python**: `call("list_guests", event_id="...")`, plus 9 ready scripts in [`examples/`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/).
12
12
13
13
It is for technical people who want to run it themselves, **for noncommercial use only** ([license](#license)). If you want it running 24/7 on a server, kept working when Partiful changes its site, for a team or a business, use the [hosted version at cotlet.dev](https://cotlet.dev/integrations/partiful-api-mcp-server).
With [uv](https://docs.astral.sh/uv/): `uv venv && uv pip install -e .`, then `uv run partiful-mcp ...`.
78
78
79
-
Setting it up with an AI agent (Claude Code, Codex, Cursor)? Open it in this folder and ask it to set up the repo: [`AGENTS.md`](AGENTS.md) tells it every step, and it asks you only for the steps in Chrome.
79
+
Setting it up with an AI agent (Claude Code, Codex, Cursor)? Open it in this folder and ask it to set up the repo: [`AGENTS.md`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/AGENTS.md) tells it every step, and it asks you only for the steps in Chrome.
80
80
81
81
To update: `git pull && pip install -e .`. We copy every change of the hosted Partiful tools into this repo.
82
82
@@ -157,7 +157,7 @@ claude mcp add partiful -- /path/to/partiful-api-mcp-server/.venv/bin/partiful-m
157
157
158
158
### Cursor
159
159
160
-
`~/.cursor/mcp.json`, the same block as Claude Desktop. A ready copy is in [`mcp.json`](mcp.json).
160
+
`~/.cursor/mcp.json`, the same block as Claude Desktop. A ready copy is in [`mcp.json`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/mcp.json).
161
161
162
162
### Codex
163
163
@@ -236,19 +236,19 @@ call("update_event", event_id=events[0]["event_id"], location="21 Mercer St, New
236
236
237
237
Or one tool from the shell: `partiful-mcp call list_guests event_id=hK3vQ9xLm2Pa7RtYc4Wd status=pending`, or with a JSON object.
238
238
239
-
Ready scripts in [`examples/`](examples/). Each prints JSON or text, takes `--out file.csv` or `--out file.json` where it makes sense, and `--help`:
239
+
Ready scripts in [`examples/`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/). Each prints JSON or text, takes `--out file.csv` or `--out file.json` where it makes sense, and `--help`:
240
240
241
241
| Script | What it does |
242
242
|---|---|
243
-
|[`list_events.py`](examples/list_events.py)| Events you host, with date, status and guests per RSVP status. `--when past`. |
244
-
|[`export_guest_list.py`](examples/export_guest_list.py)| Saves the same CSV as the Export CSV button. `--status going`. |
245
-
|[`export_rsvps.py`](examples/export_rsvps.py)| Guests of one or more events as sheet rows, one column per questionnaire question. |
246
-
|[`questionnaire_summary.py`](examples/questionnaire_summary.py)| Each questionnaire answer with how many guests gave it and who, plus who has not answered. |
247
-
|[`approve_pending_guests.py`](examples/approve_pending_guests.py)| Approves pending guests whose answers match `--match` keywords, up to `--max`. `--dry-run` first. |
248
-
|[`check_in_guests.py`](examples/check_in_guests.py)| Checks guests in by name, or undoes it. |
249
-
|[`list_past_guests.py`](examples/list_past_guests.py)| Past guests and mutuals you can invite, `--not-on` an event. |
250
-
|[`reinvite_past_guests.py`](examples/reinvite_past_guests.py)| Copies an event to a new date and invites the people who were going. `--dry-run` first. |
251
-
|[`text_guests.py`](examples/text_guests.py)| A Text Blast to chosen RSVP statuses, after showing how many people it reaches. |
243
+
|[`list_events.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/list_events.py)| Events you host, with date, status and guests per RSVP status. `--when past`. |
244
+
|[`export_guest_list.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/export_guest_list.py)| Saves the same CSV as the Export CSV button. `--status going`. |
245
+
|[`export_rsvps.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/export_rsvps.py)| Guests of one or more events as sheet rows, one column per questionnaire question. |
246
+
|[`questionnaire_summary.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/questionnaire_summary.py)| Each questionnaire answer with how many guests gave it and who, plus who has not answered. |
247
+
|[`approve_pending_guests.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/approve_pending_guests.py)| Approves pending guests whose answers match `--match` keywords, up to `--max`. `--dry-run` first. |
248
+
|[`check_in_guests.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/check_in_guests.py)| Checks guests in by name, or undoes it. |
249
+
|[`list_past_guests.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/list_past_guests.py)| Past guests and mutuals you can invite, `--not-on` an event. |
250
+
|[`reinvite_past_guests.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/reinvite_past_guests.py)| Copies an event to a new date and invites the people who were going. `--dry-run` first. |
251
+
|[`text_guests.py`](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/examples/text_guests.py)| A Text Blast to chosen RSVP statuses, after showing how many people it reaches. |
@@ -382,7 +382,7 @@ The source is public, the license is not an open source license: noncommercial u
382
382
383
383
## License
384
384
385
-
[PolyForm Noncommercial License 1.0.0](LICENSE). In short:
385
+
[PolyForm Noncommercial License 1.0.0](https://github.com/cotletdev/partiful-api-mcp-server/blob/main/LICENSE). In short:
386
386
387
387
-**Allowed:** noncommercial use: you, for your own personal purposes with your own Partiful account, or a charity, school, public research or government body. Changing the code, and sharing it under the same license.
388
388
-**Not allowed:** any commercial use, your own business included; client work; selling or offering it, or a service built on it.
@@ -393,7 +393,7 @@ The source is public, the license is not an open source license: noncommercial u
0 commit comments