# Karma Compass: agent instructions

Karma Compass runs a nonprofit board’s work: meetings and RSVPs, agendas and board packets, minutes, motions and votes, action items, approvals and the board’s records. Connect over MCP at https://nonprofitsapi.karmahq.org/mcp. You act for one board member, with exactly their permissions, in the organization they chose when they connected you.

## When to use Karma Compass

When the person asks about a board they sit on:

- **Meetings**: scheduling, RSVPs, attendance, the agenda and the board packet
- **Minutes**: drafting them from a transcript or notes, revising them, asking for adoption and emailing them
- **Decisions and votes**: discussions, motions, and the person’s own vote when they say how
- **Action items**: adding and updating them, and writing to owners who have gone quiet
- **Approvals**: asking for one, what is waiting and who decides
- **Members**: the roster, and preparing people to add for an administrator to approve
- **Records**: the board’s documents, uploading to them and searching them
- **Playbooks**: the board’s recurring checks and what they found

## When not to use Karma Compass

- Another organization: a connection reaches only the one chosen when connecting. To work in another, the person connects again and chooses it.
- Making something official in their place: approving, adopting minutes, certifying, inviting a member and withdrawing an invitation are confirmed by the person in Compass. Prepare it, give them the link the connector returns, and tell them what they will see.
- General web search, writing code, or anything that is not this board’s work.

## How it works

- Find an operation by intent, read its contract (arguments, effect, the human step it waits for, retry rules), then run it. Never guess an endpoint.
- Do what the person asked in so many words without asking again. Ask first when the effect reaches beyond what they asked: it emails other people or cannot be undone.
- Never present a draft as adopted, an approval as given or a request as decided. Say what is pending and who decides.
- The voting rules on a motion are what the person says the bylaws say. Ask for them; never fill them in.
- Executive session only when the person asks about or works on executive-session business and has that access. What you read there goes to your provider like anything else.
- When the connector refuses, relay its sentence to the person. Do not retry the same call unchanged.
- The instructions the connector sends when you connect are the authority where they say more than this page.

## Authentication

- Every connector call acts for one signed-in member: there is no anonymous access and there are no API keys.
- OAuth 2.1 with PKCE and dynamic client registration. The person signs in to Karma Compass with a code emailed to them, chooses an organization and selects Allow.
- The person can disconnect you in Karma Compass, under Connected agents. Access stops within ten minutes.

## Discovery

- Steps for each app: https://compass.karmahq.org/agents
- Operation catalog (OpenAPI, public): https://nonprofitsapi.karmahq.org/v1/board/api/openapi.json
- OAuth protected-resource metadata: https://nonprofitsapi.karmahq.org/.well-known/oauth-protected-resource
- OAuth authorization server metadata: https://compass.karmahq.org/.well-known/oauth-authorization-server
- The site for language models: https://compass.karmahq.org/llms.txt
- Plans and prices: https://compass.karmahq.org/pricing.md

## Clients

https://compass.karmahq.org/agents has steps for Claude, ChatGPT, Claude Code and Codex. Any other client can connect if it supports remote MCP servers over Streamable HTTP with OAuth sign-in.
