RogerRogerHQ/rogerroger-mcp-server
If you are the rightful owner of rogerroger-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
RogerRoger MCP Server is a Model Context Protocol server designed to facilitate interaction between AI assistants and RogerRoger data using standardized MCP tools.
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 file for details.
Support
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