adriamarti/floogic-mcp-server
If you are the rightful owner of floogic-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 henry@mcphub.com.
Floogic MCP Server is a modular and extensible server designed to automate business and productivity tasks through integration with various services and APIs.
createGoogleCalendarEvent
Creates events with automatic video call
checkGoogleCalendarEventDisponibility
Checks schedule availability
findGoogleCalendarEventByClientEmail
Searches events by client email
cancelGoogleCalendarEvent
Cancels existing events
Floogic MCP Server
A modular and extensible MCP (Model Context Protocol) server that provides intelligent tools for automating business and productivity tasks. Currently includes complete Google Calendar integration, with expansion plans for multiple services and APIs.
šÆ What does this server do?
This MCP server acts as a bridge between AI applications (like Cursor) and multiple business services, enabling:
- Process automation: Connect AI with business tools
- Multi-service integration: Multiple tools in a single server
- Extensibility: Modular architecture to easily add new tools
- Centralized management: Single configuration point for multiple services
š Available Tools
š Google Calendar (Current)
createGoogleCalendarEvent
: Creates events with automatic video callcheckGoogleCalendarEventDisponibility
: Checks schedule availabilityfindGoogleCalendarEventByClientEmail
: Searches events by client emailcancelGoogleCalendarEvent
: Cancels existing events
š® Upcoming Integrations (Roadmap)
- š§ Email Management: Automatic email sending and management
- š Analytics: Google Analytics and other services integration
- š¤ CRM: Connection with popular CRM systems
- š Task Management: Task and project management
- š¬ Communication: Slack, Teams, etc. integration
- š Reporting: Automatic report generation
š Main Features
š Google Calendar Tools
createGoogleCalendarEvent
: Creates events with automatic video callcheckGoogleCalendarEventDisponibility
: Checks schedule availabilityfindGoogleCalendarEventByClientEmail
: Searches events by client emailcancelGoogleCalendarEvent
: Cancels existing events
š§ Technical Features
- ā Complete MCP protocol implementation
- ā Modular architecture for multiple tools
- ā Support for stdio (local) and HTTP/SSE (web) transport
- ā Google Calendar API integration (first tool)
- ā Robust error handling
- ā Flexible and extensible configuration
- ā Timezone configured for Spain (Europe/Madrid)
š ļø Installation and Configuration
Prerequisites
- Node.js 20 or higher
- Google Cloud account with Calendar API enabled
- Google Service Account with Calendar permissions
1. Local Installation
# Clone the repository
git clone <your-repository>
cd floogic-mcp-server
# Install dependencies
yarn install
# Build the project
yarn build
2. Credentials Configuration
For local use (stdio):
Configure in ~/.cursor/mcp.json
:
{
"mcpServers": {
"floogic-calendar": {
"command": "node",
"args": ["/path/to/project/build/index.js"],
"env": {
"GOOGLE_CALENDAR_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...",
"GOOGLE_CALENDAR_CLIENT_EMAIL": "your-service-account@project.iam.gserviceaccount.com"
}
}
}
}
For web use (HTTP/SSE):
Configure environment variables in your server:
GOOGLE_CALENDAR_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."
GOOGLE_CALENDAR_CLIENT_EMAIL="your-service-account@project.iam.gserviceaccount.com"
š Using the Tools
1. Create Calendar Event
// Usage example
createGoogleCalendarEvent({
start: "2024-01-15T10:00:00Z",
end: "2024-01-15T11:00:00Z",
cliente: "John Doe",
email: "john.doe@email.com",
contexto: "Initial consultation about services",
calendarId: "primary",
});
2. Check Availability
checkGoogleCalendarEventDisponibility({
start: "2024-01-15T10:00:00Z",
end: "2024-01-15T11:00:00Z",
calendarId: "primary",
});
3. Search Events by Email
findGoogleCalendarEventByClientEmail({
email: "john.doe@email.com",
calendarId: "primary",
});
4. Cancel Event
cancelGoogleCalendarEvent({
eventId: "event_id_from_google",
calendarId: "primary",
});
š Deployment on Render
The project includes configuration for automatic deployment on Render:
-
Required Environment Variables:
GOOGLE_CALENDAR_CLIENT_EMAIL
GOOGLE_CALENDAR_PRIVATE_KEY
-
Available Endpoints:
GET /
- Server informationGET /health
- Health checkGET /sse
- SSE connection endpointPOST /messages
- MCP messages endpoint
šļø Project Structure
floogic-mcp-server/
āāā src/
ā āāā index.ts # MCP server stdio (local)
ā āāā server.ts # MCP server HTTP/SSE (web)
ā āāā mcp-config.ts # MCP tools configuration
ā āāā constants.ts # Environment variables configuration
ā āāā tools/
ā āāā google-calendar.ts # Tools implementation
āāā Dockerfile # Docker configuration
āāā render.yaml # Render configuration
āāā package.json
š Security
- Secure credentials: Google keys are handled through environment variables
- No hardcoding: No credentials in source code
- Easy rotation: Easy credential updates without touching code
- Configuration separation: Different configurations for development and production
š Use Cases
For Businesses
- Process automation: Connect multiple business services with AI
- Centralized management: Single server for multiple tools
- Scalability: Easy addition of new integrations as needed
- Scheduling automation: Automatically create appointments from web forms
- Availability verification: Check schedules before confirming appointments
For Developers
- Extensible architecture: Easy addition of new tools
- AI integration: Connect AI tools with multiple services
- Custom APIs: Create specific endpoints for different services
- Process automation: Scripts for bulk task management
- Modular development: Each tool is an independent module
šļø Modular Architecture
The server is designed with a modular architecture that facilitates the addition of new tools:
Tools Structure
src/tools/
āāā google-calendar.ts # Google Calendar tools
āāā email-management.ts # Future email tools
āāā crm-integration.ts # Future CRM tools
āāā analytics.ts # Future analytics tools
How to Add New Tools
- Create new tools file in
src/tools/
- Implement functions following the existing pattern
- Register tools in
src/mcp-config.ts
- Add environment variables if needed in
src/constants.ts
Implementation Pattern
// Example of new tool
const newTool = async (args: { parameter1: string; parameter2: string }) => {
try {
// Tool logic
return {
content: [{ type: "text" as const, text: "Successful result" }],
};
} catch (error: any) {
return {
content: [{ type: "text" as const, text: `Error: ${error.message}` }],
isError: true,
};
}
};
š Technical Notes
- Timezone: Configured for Spain (Europe/Madrid)
- Video calls: Events are automatically created with video call option
- Search: Events are searched in the last 7 days by default
- Error handling: Detailed responses in case of error
- Modular architecture: Each tool is independent and reusable
š¤ Contributing
To contribute to the project:
š Adding New Tools
- Create new module in
src/tools/
- Follow the pattern of existing implementation
- Register the tool in
src/mcp-config.ts
- Document the new functionality
- Add tests if necessary
š Reporting Bugs or Improvements
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/new-functionality
) - Commit your changes (
git commit -am 'Add new functionality'
) - Push to the branch (
git push origin feature/new-functionality
) - Create a Pull Request
š Tools Roadmap
- Email Management: Automatic email sending
- CRM Integration: Connection with CRM systems
- Analytics: Google Analytics integration
- Task Management: Task and project management
- Communication: Slack, Teams integration
- Reporting: Automatic report generation
Have an idea for a new tool? Open an issue and discuss it with us!