floogic-mcp-server

adriamarti/floogic-mcp-server

3.2

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.

Tools
  1. createGoogleCalendarEvent

    Creates events with automatic video call

  2. checkGoogleCalendarEventDisponibility

    Checks schedule availability

  3. findGoogleCalendarEventByClientEmail

    Searches events by client email

  4. 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 call
  • checkGoogleCalendarEventDisponibility: Checks schedule availability
  • findGoogleCalendarEventByClientEmail: Searches events by client email
  • cancelGoogleCalendarEvent: 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 call
  • checkGoogleCalendarEventDisponibility: Checks schedule availability
  • findGoogleCalendarEventByClientEmail: Searches events by client email
  • cancelGoogleCalendarEvent: 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:

  1. Required Environment Variables:

    • GOOGLE_CALENDAR_CLIENT_EMAIL
    • GOOGLE_CALENDAR_PRIVATE_KEY
  2. Available Endpoints:

    • GET / - Server information
    • GET /health - Health check
    • GET /sse - SSE connection endpoint
    • POST /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

  1. Create new tools file in src/tools/
  2. Implement functions following the existing pattern
  3. Register tools in src/mcp-config.ts
  4. 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

  1. Create new module in src/tools/
  2. Follow the pattern of existing implementation
  3. Register the tool in src/mcp-config.ts
  4. Document the new functionality
  5. Add tests if necessary

šŸ› Reporting Bugs or Improvements

  1. Fork the repository
  2. Create a branch for your feature (git checkout -b feature/new-functionality)
  3. Commit your changes (git commit -am 'Add new functionality')
  4. Push to the branch (git push origin feature/new-functionality)
  5. 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!