opencollective
Query and interact with Open Collective's GraphQL API v2. Browse collectives, view budgets/transactions/expenses, manage memberships, submit expenses, and explore the open-source funding ecosystem.
Install
mkdir -p .claude/skills/opencollective && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16203" && unzip -o skill.zip -d .claude/skills/opencollective && rm skill.zipInstalls to .claude/skills/opencollective
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Query and interact with Open Collective's GraphQL API v2. Browse collectives, view budgets/transactions/expenses, manage memberships, submit expenses, and explore the open-source funding ecosystem.About this skill
Open Collective
Query and manage Open Collective accounts, finances, and community data via their public GraphQL API v2.
Endpoint & Auth
- Endpoint:
https://api.opencollective.com/graphql/v2 - Unauthenticated: 10 req/min, public read-only
- Authenticated: 100 req/min — pass
Personal-Token: <token>header - Token creation:
https://opencollective.com/<your-slug>/admin/for-developers - Not available via API: Stripe/PayPal payment creation, captcha-protected operations
MCP Server Setup
Use mcp-graphql to expose the OC API as MCP tools. With fnox-backed auth:
claude mcp add opencollective-graphql -- /bin/sh -c \
'unset PYTHONPATH && \
ENDPOINT=https://api.opencollective.com/graphql/v2 \
HEADERS="{\"Personal-Token\":\"$(fnox get OPENCOLLECTIVE_TOKEN --age-key-file ~/.age/key.txt -c ~/v/instance-onboarding/fnox.toml)\"}" \
exec npx mcp-graphql'
Store your token: fnox set OPENCOLLECTIVE_TOKEN <token> --age-key-file ~/.age/key.txt -c ~/v/instance-onboarding/fnox.toml
Quick Start
If opencollective-graphql MCP server is available, use its query-graphql tool. Otherwise use curl.
query { account(slug: "webpack") { name stats { balance { valueInCents currency } } } }
Core Queries
| Query | Use When |
|---|---|
account(slug) | Look up any account by slug |
accounts(searchTerm, type, limit) | Search/browse collectives |
host(slug) | Look up a fiscal host |
hosts(limit) | Browse fiscal hosts |
expenses(account, status, limit) | View submitted expenses |
expense(id) | Single expense detail |
transactions(account, type, limit) | View financial activity |
orders(account, status, limit) | View contributions/donations |
search(searchTerm) | General search (beta) |
me | Current authenticated user |
tier(id) | Sponsorship tier details |
tagStats(searchTerm) | Explore ecosystem categories |
Core Mutations (all require auth)
| Mutation | Use When |
|---|---|
createExpense | Submit expense for reimbursement |
editExpense | Update existing expense |
processExpense(action) | Approve/reject/pay expense |
createOrder | Create contribution/donation |
cancelOrder | Cancel recurring contribution |
createComment | Comment on expense/update |
createUpdate / publishUpdate | Post update to collective |
inviteMember | Invite someone to join |
followAccount / unfollowAccount | Follow/unfollow collective |
createWebhook | Set up notifications |
applyToHost | Apply collective to fiscal host |
createCollective | Create new collective |
createTier / editTier | Manage sponsorship tiers |
Reference Guide
| Topic | File | Load When |
|---|---|---|
| Query Templates | references/queries.md | Need ready-to-use GraphQL queries |
| Mutation Templates | references/mutations.md | Need to write/modify data |
| Schema Types | references/types.md | Need type details for building queries |
| Weird Mutualism | references/weird-mutualism.md | Exploring OC's mutualist ecosystem patterns |
Key Patterns
- Pagination: All collections use
limit/offset, returntotalCount+nodes - Account refs:
{slug: "x"},{id: "uuid"}, or{legacyId: 123} - Amounts: Always
{ valueInCents: Int, currency: String }— divide by 100 for display - See
references/queries.mdfor full filtering examples
Account Types
COLLECTIVE, ORGANIZATION, INDIVIDUAL, FUND, EVENT, PROJECT, HOST, VENDOR
Status Enums
- Expense:
DRAFT→UNVERIFIED→PENDING→APPROVED→PROCESSING→PAID(alsoREJECTED,ERROR,CANCELED) - Order:
NEW,PENDING,ACTIVE,CANCELLED,REJECTED,PAID,ERROR,EXPIRED - Transaction type:
CREDIT(in) /DEBIT(out) - Transaction kind:
CONTRIBUTION,EXPENSE,ADDED_FUNDS,HOST_FEE,PAYMENT_PROCESSOR_FEE,PLATFORM_FEE
Tips
statssubfields on accounts give quick financial summariesmembers(role: [BACKER])lists financial contributorstiersshows sponsorship levels;updatesshows blog postssocialLinkshas website, twitter, github URLs