Grinfi MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Grinfi MCP ServerShow me all my contacts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Grinfi MCP Server
Connect Claude to your Grinfi.io account. Manage contacts, automations, messages, and more — all through natural language.
Quick Start
1. Get your API key
Go to Grinfi → Settings → API Keys and copy your key.
2. Download this repository
Click the green "Code" button above → "Download ZIP", then unzip it.
Or clone with Git:
git clone https://github.com/alex-rise/grinfi-mcp-server.git3. Run the installer for your OS
Related MCP server: mcp-server-systemeio
macOS Installation
Option A: Use the installer (recommended)
Open the grinfi-mcp-server folder in Finder
Double-click
install.shWhen prompted, paste your Grinfi API key and press Enter
The installer will automatically:
Install Homebrew (if not installed)
Install Node.js (if not installed)
Install all dependencies and build the server
Configure Claude Desktop
Note: If macOS asks for your password, enter your Mac login password and press Enter. This is normal — it's installing system packages.
Option B: Manual setup (macOS)
cd grinfi-mcp-server
npm install
npm run buildThen add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"grinfi": {
"command": "node",
"args": ["/full/path/to/grinfi-mcp-server/dist/index.js"],
"env": {
"GRINFI_API_KEY": "your-api-key-here"
}
}
}
}Windows Installation
Option A: Use the installer (recommended)
Open the grinfi-mcp-server folder in File Explorer
Double-click
install.batIf Windows shows a security warning ("Windows protected your PC"), click "More info" then "Run anyway"
When prompted, paste your Grinfi API key and press Enter
The installer will automatically:
Install Node.js via winget (if not installed)
Install all dependencies and build the server
Configure Claude Desktop
Option B: Manual setup (Windows)
cd grinfi-mcp-server
npm install
npm run buildThen add this to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"grinfi": {
"command": "node",
"args": ["C:/full/path/to/grinfi-mcp-server/dist/index.js"],
"env": {
"GRINFI_API_KEY": "your-api-key-here"
}
}
}
}After Installation (All Platforms)
Restart Claude Desktop — quit completely (not just close the window) and reopen
Look for "grinfi" in the tools list (hammer icon at the bottom of the chat)
Start chatting! Try: "Show me all my contacts"
Claude Code Configuration
claude mcp add grinfi -- node /full/path/to/grinfi-mcp-server/dist/index.jsThen set the environment variable before running Claude Code:
export GRINFI_API_KEY="your-api-key-here"
claudeCloud Endpoint (Paid Claude plans)
If you have a paid Claude plan, you can use our hosted cloud endpoint — no local installation needed.
Visit mcp.grinfi.io to generate your personal MCP endpoint URL.
Available Tools
Contacts
Tool | Description |
| Find a contact by LinkedIn ID, email, or name + company |
| Search contacts with filters, sorting, pagination |
| Get contact details by UUID |
| Update contact fields |
| Delete a contact |
| Create or update a contact in a list |
Lists
Tool | Description |
| Get all contact lists |
| Get a list by UUID |
| Create a new list |
Automations
Tool | Description |
| Get all automations |
| Start an automation |
| Stop an automation |
| Add existing contact to automation |
| Create contact and add to automation |
| Cancel contact from specific automations |
| Cancel contact from all automations |
Unibox (Messages)
Tool | Description |
| List LinkedIn messages |
| Get contacts with unread messages |
| Mark a LinkedIn conversation as read |
| Send a LinkedIn message |
| List emails |
| Send an email |
Sender Profiles
Tool | Description |
| List all sender profiles |
| Get sender profile details |
| Create a new sender profile |
CSV Import / Export (new in 1.1)
Tool | Description |
| Upload a CSV file from local disk; returns a file_import UUID |
| Import contacts from an uploaded CSV with column mapping |
| Import companies from an uploaded CSV |
| Queue a CSV export of contacts matching a filter |
| Queue a CSV export of companies matching a filter |
| Get the download payload for a queued export |
Lead Enrichment & Analytics (new in 1.1)
Tool | Description |
| Trigger advanced LinkedIn enrichment for contacts |
| Count contacts matching a filter |
| Get team engagement metrics for contacts |
Automation Folders & Enrollment
Tool | Description |
| List automation folders (renamed from |
| Create a new automation folder (renamed in 1.2) |
| Rename or change display order (renamed in 1.2) |
| Delete a folder (automations inside are not deleted) (renamed in 1.2) |
| Search contacts enrolled in automations |
| Delete a contact's automation history (full erase) |
AI Agents & Templates — full CRUD (new in 1.1)
Tool | Description |
| Create a new AI agent |
| Update an AI agent |
| Delete an AI agent |
| Update an AI template |
| Delete an AI template |
Closures (new in 1.1)
Tool | Description |
| Upload a local file as an attachment |
| Remove a contact from the leads blacklist |
| Remove a company from the companies blacklist |
| Rename a custom field or change order |
| Delete a custom field (and all its values) |
Failed-task triage (new in 1.2)
Tool | Description |
| Read-only triage: failure breakdown by error code, per-sender, sample tasks, pattern hints (captcha/proxy/rate-limit detection) |
| Bulk-retry failed automation tasks (filter or explicit UUIDs); supports |
| Bulk-skip failed tasks (lead progresses to next node) |
| Re-enrol matched leads from the start of a flow; optionally swap to a different sender |
Workspace dashboard & health (new in 1.2)
Tool | Description |
| Single-call 6-section operational overview: today/yesterday counts, LinkedIn fleet, mailbox health, active flows, failed tasks |
| CRM analytics widgets: activities-over-time, conversion-funnel, pipeline-distribution, sender-performance, response-rate |
| Period-aware outreach event counts with flexible group_by (type, status, flow, sender, day, week) |
| Deep mailbox health diagnosis with detected issues + recommendations |
| Fleet-wide LinkedIn account snapshot (status, cookie, health score, daily caps) |
LinkedIn browsers (new in 1.2)
Tool | Description |
| List all LinkedIn browser profiles |
| Get a browser by ID |
| Create a browser linked to a sender profile |
| Delete a browser (irreversible) |
| Start / stop a browser session |
| Change proxy country |
| Share browser access with team members by email |
| Deep health diagnosis on one browser (cookie, health score, limits, proxy) |
Data sources (LinkedIn import jobs) (new in 1.2)
Tool | Description |
| Discover & inspect import jobs |
| Create import from CSV / Sales Navigator / LinkedIn search / post engagement |
| Edit or remove an import job |
Account & teams (new in 1.2)
Tool | Description |
| Authenticated user profile |
| All teams accessible via the Grinfi API (vs |
| Team details by numeric ID |
Integrations & diagnostics (new in 1.2)
Tool | Description |
| Ad-hoc outbound HTTP request (SSRF-protected, public URLs only, 1MB cap) |
| Outbound HTTP log: webhook deliveries, automation API calls, enrichment requests |
| Smoke-test a stored LLM integration (~5 token cost) |
CRM read & helpers (new in 1.3)
Tool | Description |
| Fetch multiple contacts by their UUIDs in one round-trip |
| Lightweight UUID-only listing of leads matching a filter (much smaller than |
| Lightweight UUID-only listing of companies matching a filter |
| Typeahead suggestions for contact filter fields — discover valid values to filter by |
| Typeahead suggestions for company filter fields |
| Create one or more leads in a target list (bulk-friendly alternative to |
Metrics & statistics (new in 1.3)
Tool | Description |
| Usage metrics for custom fields — how many records have a value set |
| Funnel analytics: how many leads/companies sit in each pipeline stage |
| Per-sender analytics: sends, replies, bounces, response-rate |
| High-level outreach analytics in one call: connection requests sent vs accepted, messages, replies |
| Performance metrics for AI agents — leads engaged by engagement status |
| Per-step funnel for an automation: how many leads passed each node and where they dropped off |
| Per-contact-source breakdown of leads inside an automation |
| Enrichment-queue metrics for the current month, optionally narrowed by a filter |
| Fetch a single enrichment-queue item by numeric ID (provider, status, cost, target) |
Mass actions (new in 1.3)
Tool | Description |
| Default filter-based bulk contact op — server fetches UUIDs, chunks them, applies the action (supports |
| Browse the history of mass-action jobs run on this workspace |
| Poll the status of a specific mass-action job by UUID |
| Execution metrics for mass-action jobs — progress, succeeded/failed counts |
| Abort a still-running mass-action job before it finishes |
CSV bulk update (new in 1.3)
Tool | Description |
| Bulk-update existing contacts from a local CSV (matched by uuid/email) |
| Bulk-update existing companies from a local CSV |
| Bulk-add contacts to the blacklist from a local CSV (emails, LinkedIn IDs, or UUIDs) |
These take a local
file_path(likeupload_csv) — the server reads the file from disk.
Lead imports — LinkedIn / Sales Navigator (new in 1.3)
Tool | Description |
| Queue a regular LinkedIn (non-Sales-Navigator) people-search import |
| Queue an import of your own LinkedIn 1st-degree connections |
| Harvest people who liked, reposted, or commented on a specific LinkedIn post |
| Queue a Sales Navigator company search import |
| Queue an import from a Sales Navigator ad-hoc (non-saved) search URL |
| Queue an import from a Sales Navigator saved search URL |
Tasks (new in 1.3)
Tool | Description |
| Simple GET-based automation-tasks listing with query-string pagination |
| Count automation tasks matching a filter without fetching the rows |
| Task-execution metrics aggregated by sender profile and status |
| Update editable fields of an automation task (reschedule, reassign, edit payload) |
Flows / automations (new in 1.3)
Tool | Description |
| Create a brand-new automation from scratch with custom nodes (steps) |
| Make a flow accessible via a public share link |
| Fetch the public/shared definition of a flow by its share UUID (read-only) |
| Return every sender profile referenced by a list of flow UUIDs, in one call |
Mailboxes & sender profiles (new in 1.3)
Tool | Description |
| Enable sending on a set of mailboxes in one call |
| Pause sending on a set of mailboxes in one call |
| Re-establish a mailbox's SMTP connection with fresh credentials |
| Attach a custom (branded) open/click tracking domain to a mailbox |
| Revert a mailbox's tracking to the default platform domain |
| Detect the email provider (Gmail, Outlook, Yandex, custom SMTP) for an address via MX lookup |
| One-call dispatch-readiness check for a sender across LinkedIn + email channels |
| Turn off smart-limits enforcement on a sender profile |
| Turn on smart-limits enforcement (throttle near daily safety limits) |
| Browse sender profiles with filtering, sorting, and pagination |
LinkedIn browsers — external cloud (new in 1.3)
Tool | Description |
| Update a LinkedIn browser profile by internal ID (name, proxy, sharing) |
| Test a proxy configuration before assigning it to a browser |
| Connect a browser profile to an external cloud runner via a shared access key |
| Mint an external-cloud access key for a LinkedIn browser profile |
| Start a browser session in an externally-hosted environment via a pre-shared access key |
Export webhooks (new in 1.3)
Tool | Description |
| Manually fire the "lead exported" webhook for a set of leads (replay a delivery) |
| Manually fire the "company exported" webhook for a set of companies |
Example Conversations
Find a contact:
"Find the contact with email john@example.com"
Search with filters:
"Show me contacts at Google created after January 2024"
Manage automations:
"List my automations and start the one called CMO Germany"
Send messages:
"Send a LinkedIn message to Anna saying we have a new case study"
Troubleshooting
"GRINFI_API_KEY is not set"
Make sure your API key is configured. Re-run the installer or edit the Claude Desktop config file manually (see Manual Setup sections above).
Tools not showing in Claude
Make sure Claude Desktop is fully restarted (quit and reopen, not just close window)
Check the config file path is correct for your OS
Make sure the path to
dist/index.jsis absolute (starts with/on Mac orC:\on Windows)
API errors (401/403)
Your API key may be invalid or expired. Generate a new one in Grinfi → Settings → API Keys.
Build errors
cd grinfi-mcp-server
rm -rf node_modules dist
npm install
npm run buildInstaller won't start (Mac)
If double-click doesn't work, open Terminal and run:
bash /Users/yourname/Documents/grinfi-mcp-server/install.shInstaller won't start (Windows)
Make sure you're double-clicking install.bat (not install.ps1). If Windows blocks it, click "More info" → "Run anyway".
If that doesn't work, open PowerShell manually (press Win + X, choose "PowerShell"), then run:
cd "$HOME\Documents\grinfi-mcp-server"
powershell -ExecutionPolicy Bypass -File install.ps1Requirements
Node.js 18+ — installed automatically by the installer, or download manually
Claude Desktop — download here
Grinfi.io account with an API key
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alex-rise/grinfi-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server