Affinity
Affinity helps private capital investors to find, manage, and close more deals
Verdict
Common use cases
- Surface warm intros before outbound calls
- Check deal stage and owner mid-conversation
- Export filtered list views for weekly reports
- Pull person contact history during prep
- Summarize opportunity pipeline at team sync
Integration
- Vendor
- Affinity
- Category
- crm
- Auth
- API_KEY
- Tools
- 20
- Composio slug
affinity
Tools
- Get a company s list entries
Summarize company data across all lists, including list-specific fields and metadata like creation date and author. access requires "export data from lists" permission.
- Get a company s lists
Returns metadata for all the lists on which the given company appears.
- Get all companies
Affinity api allows paginated access to company info and custom fields. use `fieldids` or `fieldtypes` to specify data in a request. retrieve field ids/types via get `/v2/companies/fields`. export permission needed.
- Get all list entries on a list
Access and export essential data and metadata for companies, persons, or opportunities from a list, specifying data via `fieldids` or `fieldtypes`. "export data from lists" permission is necessary.
- Get all list entries on a saved view
Use the endpoint to access rows in a saved view with specific filters and selected fields from a web app. it doesn't maintain sort order, supports only sheet-type views, and requires export permissions.
- Get all opportunities
Pagination through opportunities in affinity yields basic info but excludes field data. for field data, use specified get endpoints. "export data from lists" permission needed.
- Get all persons
The affinity api offers paginated access to person data using `fieldids` or `fieldtypes`. bulk extraction needs special permissions and supports multiple parameters.
- Get a person s list entries
Summary: browse rows for a person in all lists, showing field data and entry metadata like creation time and author. requires "export data from lists" permission.
- Get a person s lists
Returns metadata for all the lists on which the given person appears.
- Get a single company
Retrieve basic company info and specific field data by using `fieldids` or `fieldtypes` parameters. multiple fields can be queried. no field data if parameters aren't specified. requires "export all organizations directory" permission.
- Get a single opportunity
Get basic details about an opportunity without field data via provided endpoints. field data requires using specific list entry apis and the "export data from lists" permission.
- Get a single person
Use get `/v2/persons/fields` with `fieldids` or `fieldtypes` for detailed data; basic info by default. request multiple fields at once. "export all people" permission needed.
- Get current user
Returns metadata about the current user.
- Get metadata on all lists
Returns metadata on lists.
- Get metadata on a single list
Returns metadata on a single list.
- Get metadata on a single list s fields
Returns metadata on the fields available on a single list. use the returned field ids to request field data from the get `/v2/lists/{listid}/list-entries` endpoint.
- Get metadata on a single saved view
Returns metadata on a single saved view.
- Get metadata on company fields
Returns metadata on non-list-specific company fields. use the returned field ids to request field data from the get `/v2/companies` and get `/v2/companies/{id}` endpoints.
- Get metadata on person fields
Returns metadata on non-list-specific person fields. use the returned field ids to request field data from the get `/v2/persons` and get `/v2/persons/{id}` endpoints.
- Get metadata on saved views
Returns metadata on the saved views on a list.
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Click 'Add MCP Integration' and select Affinity from the catalog. 3. In a separate browser tab, log into Affinity and go to Settings > API to generate a new API key with 'Export data from lists' permission enabled. 4. Copy the key, return to Switchy, and paste it into the API Key field, then click Connect. 5. Switchy will verify the connection and list the 20 tools now available. 6. To test, open any Space, type '@Affinity get all companies' and send — you should see a paginated list of company records. 7. From now on, @mention Affinity in any message to invoke its tools inline.
What teammates see: by default, memories from Affinity are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Warm Intro Check
@Affinity get the company record for Acme Corp and show me all the people in our network who have interacted with them in the past year.Open in a Space →
Deal Stage Summary
@Affinity get all opportunities in the 'Enterprise Pipeline' list where stage is 'Negotiation' and show owner, close date, and last activity.Open in a Space →
Weekly Pipeline Export
@Affinity get all list entries on the saved view 'Q1 Active Deals' and format as a table with company name, ARR, stage, and owner.Open in a Space →
Contact History Lookup
@Affinity get the person record for jane.doe@example.com and list all the list entries showing interaction dates and notes.Open in a Space →
New Lead Triage
@Affinity search for a company named 'Beta Industries' and if found, show me which lists it appears on and who created the entry.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@affinity show me all companies in our enterprise pipeline with deal size over $100k and their current stage
Based on your Enterprise Pipeline list, here are 8 companies matching your criteria: Acme Corp ($250k, Stage: Negotiation, last updated 3 days ago by Sarah), TechFlow Inc ($180k, Stage: Proposal Sent, last updated 1 week ago by Mike), DataSync Solutions ($150k, Stage: Discovery, last updated 2 days ago by Jordan)... Each entry includes the company name, deal size field, current stage, last interaction date, and the team member who last updated the record. This view reflects your list's custom fields as configured in Affinity.
This example uses the 'Get all list entries on a list' tool with field filtering. Requires 'export data from lists' permission in Affinity. The MCP returns whatever custom fields exist on your list — deal size, stage, and other fields must already be defined in your Affinity workspace. Results are paginated; large lists may require follow-up prompts.
@affinity find all people at companies tagged 'active customer' who haven't been contacted in the last 30 days
Found 12 contacts across 7 active customer accounts with no logged interactions in the past 30 days: John Smith at Acme Corp (last contact: 42 days ago), Lisa Chen at TechFlow Inc (last contact: 35 days ago), Marcus Johnson at DataSync Solutions (last contact: 31 days ago)... Each result shows the person's name, company affiliation, role, last interaction date, and the team member who owns that relationship. This cross-references your Companies list tags with Person records and interaction history.
This example combines 'Get all persons' with 'Get a person's list entries' to synthesize relationship data. The MCP reads interaction timestamps from Affinity's activity log but cannot create new interactions — you'd need to log those touches separately. Filtering by tags requires those tags to exist as custom fields on your Companies list.
@affinity summarize our Q1 opportunity pipeline by stage and calculate total potential revenue for deals in negotiation or later
Your Q1 Opportunities list contains 34 active deals totaling $4.2M in potential revenue. Breakdown by stage: Discovery (8 deals, $800k), Proposal Sent (12 deals, $1.5M), Negotiation (9 deals, $1.3M), Verbal Commit (5 deals, $600k). Deals in Negotiation or later stages represent $1.9M across 14 opportunities. Average deal size is $123k. Top 3 opportunities by value: Enterprise Corp ($350k, Negotiation), Global Systems ($280k, Verbal Commit), Innovate LLC ($220k, Negotiation). This analysis reflects data as of your last Affinity sync.
This example uses 'Get all opportunities' with field filtering to aggregate deal data. The AI performs the math and grouping — Affinity returns raw opportunity records with custom field values. Requires 'export data from lists' permission. Revenue calculations assume your deal size field is populated; missing values are excluded from totals. Stage names must match your Affinity list configuration exactly.
Use-case deep-dives
When Affinity MCP replaces manual CRM exports for fundraising teams
A 3-person startup fundraising team tracking 80 investor conversations across multiple lists in Affinity can use this MCP to pull pipeline data directly into Switchy prompts without CSV exports. The "Get all list entries on a list" and "Get all opportunities" tools let you query deal stage, last contact date, and custom fields (like check size or thesis fit) in real time, so your team can draft follow-up emails or prep pitch decks with current context. This works cleanly if your Affinity instance has under 10 custom lists and you're comfortable granting "export data from lists" permission to the API key. If your CRM has 50+ lists or highly sensitive LP data, the broad export scope becomes a risk. For teams running weekly investor syncs and needing live data in AI workflows, this MCP cuts the export-paste loop and keeps your fundraising context fresh.
How this MCP speeds up company research for partnership teams
A 6-person business development team at a B2B SaaS company uses Affinity to track 200+ potential integration partners, tagging each company with custom fields like tech stack, employee count, and last outreach date. The "Get all companies" and "Get a company's list entries" tools let the team query Affinity directly from Switchy to surface which prospects match a new partnership thesis or need re-engagement. Instead of exporting spreadsheets every Monday, the BD lead prompts Switchy to list all companies tagged "API-first" with no contact in 90 days, then drafts personalized outreach in the same session. This flow breaks down if your company database exceeds 5,000 records or you need sub-second query times—Affinity's API pagination slows at scale. For mid-market BD teams running weekly partner reviews, this MCP turns your CRM into a live research layer without leaving the AI workspace.
When to use Affinity MCP for quarterly business reviews
A 4-person customer success team at a professional services firm tracks 60 enterprise accounts in Affinity, logging touchpoints, renewal dates, and upsell opportunities as custom fields. Before quarterly business reviews, the team lead uses the "Get all persons" and "Get a person's list entries" tools to pull contact history and account metadata into Switchy, then prompts the AI to draft QBR decks summarizing engagement trends and next steps. This replaces manual note aggregation and keeps the narrative grounded in CRM data. The trade-off: if your CS team needs to cross-reference Affinity data with support tickets or product usage from other tools, this MCP alone won't close the loop—you'd layer it with a ticketing or analytics MCP. For teams whose source of truth lives in Affinity and who run structured account reviews monthly or quarterly, this MCP makes prep 3x faster.
Frequently asked
What does the Affinity MCP let me do in Switchy?
It pulls company, person, and opportunity records from your Affinity CRM into Switchy prompts. You can query list entries, filter by custom fields, and export data across multiple lists without switching tabs. The MCP surfaces the same data you'd see in Affinity's web app—names, metadata, list memberships—so your team can reference CRM context mid-conversation.
Do I need special Affinity permissions to connect this MCP?
Yes. The API key you use must have "export data from lists" permission enabled in Affinity. Without it, most of the 20 tools—including company summaries, person list entries, and opportunity exports—will fail. Check your Affinity workspace settings before connecting, or ask an admin to generate a key with export rights.
Can the Affinity MCP create or update records in my CRM?
No. This MCP is read-only. It retrieves companies, persons, opportunities, and list entries but cannot write back to Affinity. If you need to log a new contact or update a deal stage, do that in Affinity directly or via a separate automation tool. The MCP exists to surface existing data, not modify it.
How is this different from just opening Affinity in another tab?
The MCP feeds CRM data directly into your AI prompts, so you can ask "summarize deals for Acme Corp" without copy-pasting from Affinity. It's faster for cross-referencing records during research or outreach drafting. You still need Affinity for editing records or using its relationship-mapping UI—the MCP doesn't replace the full app.
Who on my team should connect the Affinity MCP?
Whoever owns the Affinity API key with export permissions. Typically that's a sales ops lead or admin. Once connected in Switchy, any workspace member can invoke the MCP in their prompts. The key stays workspace-scoped, so you don't need every user to authenticate individually—just one person with the right Affinity access.