# Swiftfox MCP

> Swiftfox MCP Server connects your AI client to full CRM functionality. Use it to manage member data by listing people and organizations, tracking subscriptions, and logging interactions in natural conversation. It lets you query profiles, monitor events, and update records—all without leaving your chat window.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** member-management, campaign-management, engagement-strategy, nonprofit-crm, interaction-tracking, data-fields

## Description

Swiftfox MCP Server hooks your AI client directly into the full CRM backend. You use this server to manage member data—people and companies—by listing contacts, tracking their subscriptions, and logging every interaction, all without ever leaving your chat window.

The system first confirms its own connection. You can run `check_swiftfox_status` to verify that the API link is up and running and grab account metadata to make sure everything's connected right. To know exactly which account you’re talking about, calling `get_me` pulls your authenticated user profile details straight into the chat.

When it comes to finding people, things are straightforward. You can run `list_people` to get a roster of individual members; you’ll find you can narrow that list down using names or other filters. If you know who you're looking for, `get_person` pulls up the complete profile details for any specific individual by name or ID. For tracking memberships, `list_person_subscriptions` lets you view all active plans, payment statuses, and renewal dates tied to a single person’s ID.

Managing organizations is just as easy. You can list every company or group in your account using `list_organizations`, optionally filtering that search with specific keywords. If you need the full scoop on one of those companies, `get_organization` pulls up all the detailed information for a specific organization ID.

For mapping out relationships and groups, `list_circles` gives you an exhaustive list of every associated circle or domain your account uses; you can even filter that search with a term if you know what you're looking for.

To keep track of activity history, the server offers robust tools. You can call `list_events` to get a rundown of all past activities or events logged in the Swiftfox CRM. Before you try to create a new event record or filter existing ones, running `get_event_fields` pulls up the required data schema definitions for those events. Knowing this structure means your agent can build perfect records every time.

Beyond contacts and companies, you're connected to operational setup details too. You can view all webhooks configured in Swiftfox using `list_webhooks`; these show which external services get notified when key events happen inside the CRM. The server also provides a way to see what circles are available across your whole account via `list_circles`.

Basically, you treat the entire member ecosystem like a conversation. Need to know who’s paying? Run the subscription tool. Wanna check if someone exists? Use the person list. You never have to copy-paste an API key or switch tabs; your agent handles all this complex data retrieval and management right where you're chatting.

## Tools

### check_swiftfox_status
Confirms your API connection status and retrieves account metadata to verify connectivity.

### get_event_fields
Gets the data schema definitions for events, useful before creating or filtering event records.

### get_organization
Gets full, detailed information about a specific organization ID within Swiftfox.

### get_person
Retrieves the complete profile details for an individual person by name or ID.

### list_circles
Lists all associated circles (groups, domains) in Swiftfox; you can optionally filter by a search term.

### list_events
Retrieves a list of past events or activities that took place within the Swiftfox CRM.

### list_organizations
Lists all organizations (companies/groups) in your account, optionally filtered by search term.

### list_people
Retrieves a list of individual members; you can filter the results by name or other fields.

### list_webhooks
Shows the list of webhooks configured in Swiftfox that notify external services when events happen.

### get_me
Retrieves your authenticated user profile details to confirm which account is connected.

### list_person_subscriptions
Lists all active membership plans, payment statuses, and renewal dates for a specific person ID.

## Prompt Examples

**Prompt:** 
```
List the most recently active members in Swiftfox.
```

**Response:** 
```
I've fetched the latest active members. The list includes: Robert Lewin (Last seen 2h ago), Martha Stewart, and David Beckham. Would you like to check the interaction history for any of them?
```

**Prompt:** 
```
Log a new interaction: 'Follow-up call completed' for member ID '10293'.
```

**Response:** 
```
Interaction logged! I've added the note 'Follow-up call completed' to member 10293's profile. The engagement history has been updated in Swiftfox.
```

**Prompt:** 
```
Show me the details for member 'Martha Stewart'.
```

**Response:** 
```
I've retrieved Martha Stewart's profile (ID: m_88231). She is a 'VIP Donor' and her last campaign interaction was 'Newsletter Open' yesterday. Shall I list her full contact data?
```

## Capabilities

### undefined
undefined

### undefined
undefined

### undefined
undefined

### undefined
undefined

### undefined
undefined

## Use Cases

### A member needs follow-up on their account.
The manager asks the agent: 'What's the full story on Martha Stewart?' The agent uses `get_person` to pull up her profile, then runs `list_person_subscriptions` to show if she's current. Finally, it can list recent interactions using tools like `list_events`, giving a single, actionable summary.

### Checking campaign reach for a specific group.
A coordinator needs to know if their latest newsletter hit the right people. They prompt: 'List all members in the 'VIP Donors' circle and check their last activity.' The agent uses `list_people` (filtered by Circle) and then checks engagement status, providing a success rate report.

### Setting up external notifications.
An ops engineer needs to know how the system handles new sign-ups. They ask the agent to list configured webhooks (`list_webhooks`). The agent shows the existing hooks and verifies if a hook exists for 'Member Created' events.

### Auditing organizational structure.
A leader needs to map out all related companies. They prompt: 'Show me every organization connected to the university.' The agent executes `list_organizations` and potentially uses `get_organization` for specific details, building a clear hierarchy report.

## Benefits

- Get a complete picture of any person with `get_person`. Instead of clicking through four tabs, your agent pulls the profile details instantly. You see their contact info, membership status, and recent activity all at once.
- Track engagement history without leaving your workspace. If you need to log an interaction or check past calls, just ask. The server uses tools like `list_events` to update the member's record immediately.
- Keep tabs on memberships using `list_person_subscriptions`. You can verify if a user is active, what their plan is, and when it renews—all in one prompt. No more manual spreadsheet checks required.
- Audit your entire network by calling `list_organizations` or `list_people`. Need to know which groups exist? Need all members attached to 'Acme'? The agent handles the search and filtration for you.
- Confirm system health instantly with `check_swiftfox_status`. Before running a big campaign, check the connectivity status first. This prevents wasted time debugging API failures.

## How It Works

The bottom line is: you get full CRM data access through simple chat commands, without needing manual API calls or dashboard navigation.

1. Subscribe to the Swiftfox MCP Server on Vinkius Marketplace.
2. Provide your unique Swiftfox API Key in your client's credentials manager.
3. Ask your AI agent any question, like 'Show me all people linked to the Acme Corp organization,' and it executes the necessary tools.

## Frequently Asked Questions

**How do I check my Swiftfox credentials using the list_webhooks tool?**
You use `check_swiftfox_status` to verify your connection first. The `list_webhooks` tool just shows you what webhooks are already set up for external services, not your API key itself.

**Should I use list_people or get_person?**
Use `list_people` when you need to search a group of people (e.g., 'Everyone in the Marketing Circle'). Use `get_person` only when you know the specific person's ID and want all their detailed data.

**What is the difference between list_organizations and get_organization?**
`list_organizations` shows a directory of every company or group in your account. `get_organization` fetches the full, deep details for one specific organization that you've already identified.

**Can I track my campaign results with list_events?**
Yes. The agent uses `list_events` to retrieve records of meetings or activities. You can then ask it to filter those events by date range or member group to measure success.

**What if I need details about a subscription? Should I use list_person_subscriptions?**
Yes, `list_person_subscriptions` is the dedicated tool for that. It reports on payment status and renewal dates for a single person ID, keeping financial data isolated.

**How should I use the check_swiftfox_status tool to confirm connectivity?**
Run `check_swiftfox_status` first. It provides a status indicator and account metadata, confirming that your API key is active and correctly connected before you run any complex queries like listing members or organizations.

**If I need to filter or create an event record, should I use get_event_fields first?**
Yes. `get_event_fields` retrieves the specific data schema for events. This lets your agent know exactly which custom fields are available so you can write prompts that are precise and accurate.

**What does get_me return, and when should I use it?**
`get_me` returns the authenticated user profile details. Use this early in your workflow whenever you need confirmation of the current user context or account metadata to ensure data integrity.

**Can I search for a member by their custom ID?**
Yes! Use the `get_member` tool and provide the appropriate ID. Your agent will retrieve the complete profile and custom field data for that member.

**How do I log a new phone call with a member?**
Use the `create_interaction` tool. Provide the Member ID, the interaction type (e.g., 'call'), and your notes. The agent will instantly log it in the member's history.

**Is it possible to see the status of a specific campaign?**
Absolutely. Use the `list_campaigns` query. The agent will retrieve a list of all your outreach efforts along with their current status and engagement metrics.