mcp-server-systemeio
mcp-server-systemeio
MCP Server for Systeme.io — manage your online business from Claude.
What it does
Gives Claude direct access to your Systeme.io account — contacts, tags, courses, subscriptions, and more. Instead of switching between Claude and your Systeme.io dashboard, just ask in natural language: "show me my recent contacts", "tag this person as VIP", or "enroll them in my course".
Built for solopreneurs, freelancers, and creators who run their business on Systeme.io.
Tools
Tool | Description |
| List and filter contacts (by email, tags, status, date) |
| Get full details of a contact |
| Create a new contact with email, locale, and custom fields |
| Update a contact's locale or custom fields |
| Delete a contact |
| List all tags (with search) |
| Create a new tag |
| Rename a tag |
| Delete a tag |
| Assign a tag to a contact (can trigger automations) |
| Remove a tag from a contact |
| List all custom contact fields |
| List online courses in your school |
| Enroll a contact in a course (full, partial, or dripping access) |
| List all course enrollments |
| Remove a course enrollment |
| List payment subscriptions for a contact |
| Cancel a subscription |
Quick Start
1. Get your API key
Go to your Systeme.io dashboard → Profile → Public API keys → Generate a new key.
The free plan works! You get 2,000 contacts, 3 funnels, 1 course, and unlimited emails at no cost.
2. Install
git clone https://github.com/snzeeee/mcp-server-systemeio.git
cd mcp-server-systemeio
npm install3. Configure
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"systemeio": {
"command": "node",
"args": ["/path/to/mcp-server-systemeio/src/index.js"],
"env": {
"SYSTEMEIO_API_KEY": "your-api-key-here"
}
}
}
}On Windows, the config file is at %APPDATA%\Claude\claude_desktop_config.json.
4. Restart Claude Desktop
Close and reopen Claude Desktop. The Systeme.io tools will appear automatically.
Examples
"Show me my last 20 contacts"
→ Claude calls list_contacts with limit 20 and returns a formatted list.
"Find contacts tagged VIP"
→ Claude calls list_tags to find the VIP tag ID, then list_contacts filtered by that tag.
"Create a contact for john@example.com and tag them as Lead"
→ Claude calls create_contact, then add_tag_to_contact to assign the tag.
"Enroll contact #12345 in my course"
→ Claude calls list_courses to find the course, then enroll_contact_in_course.
"What courses do I have?"
→ Claude calls list_courses and shows active courses with details.
Requirements
Node.js 18+
Systeme.io account (free plan works)
Author
Built by snzeeee
License
MIT