RogerRoger MCP Server
Enables AI assistants to manage RogerRoger CRM data including people, organizations, lists, tags, and tasks through standardized MCP tools.
README
RogerRoger MCP Server
A Model Context Protocol (MCP) server for the RogerRoger API. This server allows AI assistants like Claude to interact with your RogerRoger data through standardized MCP tools.
Features
- š§āš¤āš§ People Management: Create, read, update, and delete contacts
- š¢ Organization Management: Create, read, update, and delete organizations
- š List Management: Create, read, update, and delete lists/segments for organizing contacts
- š·ļø Tag Management: Create, read, update, and delete tags with customizable colors
- ā Task Management: Create and retrieve tasks
- š Secure Authentication: Uses API keys for secure access
- š Pagination Support: Handle large datasets efficiently
Setup Instructions
Basic Setup
- Install the package:
npm install -g @rogerrogerio/mcp-server
-
Get your RogerRoger API key:
- Log in to your RogerRoger account
- Navigate to Admin Panel > API
- Generate or copy your API key
-
Run the server:
npx @rogerrogerio/mcp-server
Claude Desktop Setup
To set up this MCP server in Claude Desktop:
- Install the package globally if you haven't already:
npm install -g @rogerrogerio/mcp-server
- Create or edit the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
Add the MCP server configuration:
{
"mcpServers": {
"rogerroger": {
"command": "npx",
"args": ["-y", "@rogerrogerio/mcp-server"],
"env": {
"ROGERROGER_API_KEY": "your_api_key_here"
}
}
}
}
-
Restart Claude Desktop completely (quit and reopen).
-
Verify the connection - you should see the RogerRoger MCP server indicator in Claude Desktop.
Installing from Source
If you prefer to install from source:
git clone https://github.com/rogerrogerhq/rogerroger-mcp-server.git
cd rogerroger-mcp-server
npm install
npm run build
Then update your Claude Desktop configuration to use the local installation:
{
"mcpServers": {
"rogerroger": {
"command": "node",
"args": ["/absolute/path/to/rogerroger-mcp-server/dist/index.js"],
"env": {
"ROGERROGER_API_KEY": "your_api_key_here"
}
}
}
}
Configuration Options
The following environment variables can be configured:
| Variable | Required | Description | Default |
|---|---|---|---|
ROGERROGER_API_KEY |
Yes | Your RogerRoger API key | - |
Usage
With Claude Desktop
Once configured, simply chat with Claude and reference your RogerRoger data:
Examples:
- "Show me my contacts"
- "Create a new person named Sarah Smith with email sarah@example.com"
- "List all organizations in our CRM"
- "Create a new organization called Acme Corp"
- "Show me all my lists"
- "Create a new list called 'Hot Leads' with a star icon"
- "Show me all tags"
- "Create a new tag called 'VIP' with a gold background"
- "What tasks do I have assigned?"
- "Update contact ID abc123 with new phone number +1234567890"
Running Standalone (Advanced)
For development or testing:
npm start
The server will run on stdio and wait for MCP requests.
Available Tools
People Management
rogerroger:get_people: Retrieve all contacts with optional paginationrogerroger:get_person: Get a specific person by IDrogerroger:create_person: Create a new contactrogerroger:update_person: Update an existing contactrogerroger:delete_person: Delete a contact
Organization Management
rogerroger:get_organizations: Retrieve all organizations with optional paginationrogerroger:get_organization: Get a specific organization by IDrogerroger:create_organization: Create a new organizationrogerroger:update_organization: Update an existing organizationrogerroger:delete_organization: Delete an organization
List Management
rogerroger:get_lists: Retrieve all lists/segments with optional paginationrogerroger:get_list: Get a specific list by IDrogerroger:create_list: Create a new list/segmentrogerroger:update_list: Update an existing listrogerroger:delete_list: Delete a list
Tag Management
rogerroger:get_tags: Retrieve all tags with optional paginationrogerroger:get_tag: Get a specific tag by IDrogerroger:create_tag: Create a new tag with customizable colorsrogerroger:update_tag: Update an existing tagrogerroger:delete_tag: Delete a tag
Task Management
rogerroger:get_tasks: Retrieve tasks with optional filteringrogerroger:create_task: Create a new task
API Examples
Get All People
// Returns paginated list of all contacts
await callTool("rogerroger:get_people", {
limit: 50,
offset: 0,
});
Create a New Contact
await callTool("rogerroger:create_person", {
name: "John Doe",
email: "john@example.com",
phone: "+1234567890",
company: "Acme Corp",
notes: "Met at conference",
});
Create an Organization
await callTool("rogerroger:create_organization", {
name: "Acme Corporation",
website: "https://acme.com",
industry: "Technology",
employees: 500,
notes: "Potential enterprise client",
});
Create a List
await callTool("rogerroger:create_list", {
title: "Hot Leads",
icon: "star",
sequence: 1,
});
Get All Lists
// Returns paginated list of all lists/segments
await callTool("rogerroger:get_lists", {
page: 1,
itemsPerPage: 15,
});
Create a Tag
await callTool("rogerroger:create_tag", {
title: "VIP Client",
backgroundColor: "#FFD700",
textColor: "#000000",
description: "High-value clients requiring special attention",
});
Get All Tags
// Returns paginated list of all tags
await callTool("rogerroger:get_tags", {
page: 1,
itemsPerPage: 30,
});
Create a Task
await callTool("rogerroger:create_task", {
title: "Follow up with John",
description: "Schedule a demo call",
due_date: "2024-12-31",
assignee_id: "person_123",
priority: "high",
});
Development
Setup
git clone https://github.com/rogerrogerhq/rogerroger-mcp-server.git
cd rogerroger-mcp-server
npm install
Build
npm run build
Watch Mode
npm run dev
Linting
npm run lint
Testing
npm test
Project Structure
src/
āāā index.ts # Main MCP server implementation
āāā types/ # TypeScript type definitions
āāā utils/ # Utility functions
dist/ # Compiled JavaScript output
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
API Documentation
This MCP server is built based on the RogerRoger API documentation. As RogerRoger expands their API, we'll add more tools and capabilities.
Currently supported endpoints:
GET /people- List all peopleGET /people/{id}- Get person by IDPOST /people- Create new personPUT /people/{id}- Update personDELETE /people/{id}- Delete personGET /organizations- List all organizationsGET /organizations/{id}- Get organization by IDPOST /organizations- Create new organizationPUT /organizations/{id}- Update organizationDELETE /organizations/{id}- Delete organizationGET /segments- List all lists/segmentsGET /segments/{id}- Get list by IDPOST /segments- Create new listPATCH /segments/{id}- Update listDELETE /segments/{id}- Delete listGET /tags- List all tagsGET /tags/{id}- Get tag by IDPOST /tags- Create new tagPATCH /tags/{id}- Update tagDELETE /tags/{id}- Delete tagGET /tasks- List tasksPOST /tasks- Create task
Error Handling
The server includes comprehensive error handling for:
- Missing API keys
- Network failures
- Invalid API responses
- Malformed requests
All errors are returned as structured MCP responses with descriptive messages.
Security Notes
This server provides access to your sensitive data and should be deployed with appropriate security measures. Consider:
- Keeping your API key secure and never committing it to version control
- Using environment variables for configuration
- Restricting network access where appropriate
- Regularly rotating your API keys
License
MIT License - see LICENSE file for details.
Support
- š Report Issues
- š RogerRoger API Docs
- š¬ Model Context Protocol
Changelog
v1.0.3
- Bug fixes on search
v1.0.2
- Added organizations management endpoints
- Added lists/segments management endpoints
- Added tags management endpoints
- Full CRUD operations for organizations, lists, and tags
- Support for customizable tag colors (backgroundColor, textColor)
- Support for list pagination with page and itemsPerPage parameters
- Updated documentation with examples
v1.0.1
- Bug fixes and improvements
v1.0.0
- Initial release
- Support for people and task management
- Basic CRUD operations
- Comprehensive error handling
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.