affinity
affinity.
Affinity persons, companies and opportunities.
setup & usage
⚠ your Affinity API key
In Affinity, open Settings → Manage Apps and generate an API key, then paste it on the affinity connector. Reference: Affinity API keys.
▸ what you can do
affinity_entity(term="acme"), then affinity_entity(op="get", id=…) for its fieldsaffinity_entity(op="relationships", kind="person", id=…)affinity_list() to find the list, then affinity_list_entry(list_id=…)affinity_list_entry(op="set_fields", list_id=…, items=[{entry_id, fields: {"Status": "Due diligence"}}, …], dry_run=true), then again without dry_runaffinity_list_entry(op="add", list_id=…, entity_id=…)affinity_note(op="create", content=…, company_ids=[…])affinity_interactions(kind="company", id=…, type="email", since="…")· what trips people up
entry_id) is not the person/company id (entity_id): one company on three lists has three rowshttps://mcp.affinity.co/mcp) covers more; this connector is for procedures and hosted agents· usage limits
900 requests per minute per user, and a monthly quota for the whole account (100,000 on Scale and Advanced, none on Enterprise) shared with every other Affinity integration, including Affinity's MCP server. Batch writes report the remaining monthly quota.
⚙ multiple comptes
this connector accepts multiple comptes: each stored credential becomes a named account (one name per compte), at your level, your team's or your org's.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='affinity') (scope='org' or scope='group' for the org's or team's)oto_identity(op='set', connector='affinity', identity_id='<name>'); rename: op='rename' with new_name_account) and adding upoutils
chargement…
utilisation
claude code — installe le plugin oto —
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.cli —
pipx install oto-cli puis oto affinity …