Przejdź do treści
CLUP.life

Programiści MCP server

MCP server: CLUP.life for AI assistants

The CLUP.life MCP server: setup in Claude Desktop, Claude Code and other clients, all tools, permissions and security notes.

Dokumentacja techniczna jest dostępna po niemiecku i angielsku; w Twoim języku pokazujemy wersję angielską.

CLUP.life speaks the Model Context Protocol (MCP). An AI assistant can then answer questions like “What is on at the club this week?” or prepare a draft announcement — with the same rights as the person behind the key.

Key facts#

Addresshttps://api.clup.life/api/v1/ext/mcp (fallback address …/ext/assistant if a network layer mangles the path part “mcp”)
TransportStreamable HTTP, stateless, JSON-RPC 2.0; POST only (a GET answers 405)
AuthenticationHeader Authorization: Bearer clup_k_… (the same API key as for REST)
Methodsinitialize, ping, tools/list, tools/call; batches of up to 20 calls
Limit600 calls/minute at the endpoint, plus the key’s own limit

Setup step by step#

1. Create a key

Settings → Interfaces: for summaries (“What is on?”) a personal key with read scopes only is enough (profile:read, events:read, optionally posts:read, announcements:read, tasks:read). Write tools need an organization key (Premium).

2. Claude Code

claude mcp add --transport http clup https://api.clup.life/api/v1/ext/mcp \
  --header "Authorization: Bearer clup_k_…"

# prüfen
claude mcp list

3. Claude Desktop

Claude Desktop starts local servers. Connect the remote server through the mcp-remote bridge (requires Node.js). Open Settings → Developer → Edit config and add to claude_desktop_config.json:

{
  "mcpServers": {
    "clup": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.clup.life/api/v1/ext/mcp",
        "--header", "Authorization:Bearer clup_k_…"
      ]
    }
  }
}

Then quit Claude Desktop completely and restart it. The clup_… tools appear under the tools icon.

4. Other clients and your own agents

In an MCP-capable client (Cursor, VS Code, Windsurf, your own agents through an MCP SDK) enter the server address and the header Authorization: Bearer clup_k_…; transport “Streamable HTTP”. Clients that only know local processes use mcp-remote just like Claude Desktop.

5. Test it

Ask, for example: “Summarize the events of the next 14 days for tus-musterstadt.” Or by hand:

curl -s https://api.clup.life/api/v1/ext/mcp \
  -H "Authorization: Bearer $CLUP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools#

A client sees only the tools whose scope the key carries; the call checks the scope again. The list is generated from the server’s own tool list.

clup_whoamiodczyt

Shows the account behind the key, its scopes and memberships (with the slug of each organization).

Obszar: profile:read

clup_search_organizationsodczyt

Searches public clubs, groups and associations (name, place, radius, topic, state, age group, size, founding year). Public details only.

Obszar: directory:read

Imię i nazwiskoTypObowiązekNotatka
qstringwył.
placestringwył.Ort oder PLZ
radiusKmnumberwył.
categoriesstringwył.Themen, getrennt mit |
statestringwył.z. B. DE-RP
ageFromnumberwył.
ageTonumberwył.
acceptingbooleanwył.
sortstringwył.relevance | distance | name | size | new
limitnumberwył.
cursorstringwył.

clup_list_eventsodczyt

Events in a period (at most 400 days), only those the person may see.

Obszar: events:read

Imię i nazwiskoTypObowiązekNotatka
fromstringwł.ISO 8601
tostringwł.ISO 8601
organizationstringwył.Kennung (slug) der Organisation, z. B. "tus-musterstadt"

clup_create_eventzapis

Creates an event in the key’s organization (organization keys only, only with a suitable role).

Obszar: events:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
titlestringwł.
startsAtstringwł.
endsAtstringwył.
descriptionstringwył.
locationNamestringwył.
visibilitystringwył.MEMBERS | PUBLIC | INVITED_ONLY

clup_list_membersodczyt

Members of the organization (only as far as the person’s role shows the list).

Obszar: members:read

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
qstringwył.
cursorstringwył.nextCursor der vorigen Antwort
limitintegerwył.

clup_list_postsodczyt

Posts of the organization.

Obszar: posts:read

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
cursorstringwył.nextCursor der vorigen Antwort
limitintegerwył.

clup_list_announcementsodczyt

Announcements of the organization.

Obszar: announcements:read

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
cursorstringwył.nextCursor der vorigen Antwort
limitintegerwył.

clup_create_announcementzapis

Publishes an announcement in the key’s organization (notifies members — only use when the person explicitly asks).

Obszar: announcements:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
titlestringwł.
bodystringwł.
pinnedbooleanwył.

clup_list_tasksodczyt

Tasks of the group (open or done).

Obszar: tasks:read

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
scopestringwył.open | done
cursorstringwył.nextCursor der vorigen Antwort
limitintegerwył.

clup_create_taskzapis

Creates a task in the key’s group.

Obszar: tasks:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
organizationstringwł.Kennung (slug) der Organisation, z. B. "tus-musterstadt"
titlestringwł.
dueDatestringwył.JJJJ-MM-TT

clup_list_press_postsodczyt

Published press releases and news of the CLUP.life platform (public content), newest first.

Obszar: presse:read

Imię i nazwiskoTypObowiązekNotatka
artstringwył.PRESS_RELEASE | NEWS
langstringwył.Sprachcode, z. B. de, en
cursorstringwył.nextCursor der vorigen Antwort
limitintegerwył.

clup_get_press_postodczyt

One post by slug; with a key with presse:write also by id, including drafts and all languages.

Obszar: presse:read

Imię i nazwiskoTypObowiązekNotatka
refstringwł.slug oder Kennung (id)
langstringwył.

clup_create_press_draftzapis

Creates a press release or news item as a DRAFT (platform keys only, only with the platform right Press). Press releases need texts in de and en.

Obszar: presse:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
kindstringwł.PRESS_RELEASE | NEWS
slugstringwł.URL-Kennung: Kleinbuchstaben, Ziffern, Bindestriche
textsarraywł.
coverImagestringwył.
coverCreditstringwył.

clup_update_press_postzapis

Changes a post (replaces texts and attachments; all fields as when creating). Platform keys with the platform right Press only.

Obszar: presse:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
idstringwł.
kindstringwł.PRESS_RELEASE | NEWS
slugstringwł.
textsarraywł.
coverImagestringwył.
coverCreditstringwył.

clup_publish_press_postzapis

Publishes a post IMMEDIATELY and publicly — only use when the person explicitly asks.

Obszar: presse:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
idstringwł.

clup_schedule_press_postzapis

Schedules a post for a future time (embargo); the timer then publishes it.

Obszar: presse:write · Premium (klucz organizacji)

Imię i nazwiskoTypObowiązekNotatka
idstringwł.
publishAtstringwł.ISO 8601, z. B. 2026-11-01T08:00:00Z

Wersja protokołu: 2025-03-26

Permissions and security#

  • The assistant acts with the rights of the person who owns the key. Organizations that are not visible report “not found”.
  • Responses are data, not instructions. The server says so in its instructions. Check results before you act on post texts.
  • Write tools (clup_create_*) are visible only with an organization key. Set them to “ask every time” in the client — especially clup_create_announcement, which notifies members.
  • Connect a dedicated, narrowly scoped key per assistant and revoke it when you no longer use the client.
  • Note: what the assistant reads goes to the assistant’s provider. Give it only keys whose data you may send there (see data protection).
MCP server: CLUP.life for AI assistants · CLUP.life