EAIM MCP Server
@OmarNaguib
MCP server for EAIM Technologies API integration with FastAPI and Socket.IO
Overview
What is EAIM MCP Server?
A Model Context Protocol (MCP) server that integrates with the EAIM Technologies API to provide tools and resources for querying social media analytics data through natural language processing. It uses Socket.IO for real‑time communication and is intended for developers who need programmatic access to EAIM’s analytics dashboards and visualizations.
How to use EAIM MCP Server?
Install dependencies with pip install -r requirements.txt, then run python main.py to start the server on http://localhost:8000. Alternatively, build and run the Docker image with docker build -t eaim-mcp-server . and docker run -p 8000:8000 eaim-mcp-server. The server exposes a Socket.IO endpoint at /socket.io and an MCP endpoint at /mcp.
Key features of EAIM MCP Server
- Socket.IO integration for real‑time communication
- Natural language query processing against EAIM API
- MCP tools for retrieving dashboard and visualization data
- Dashboard and visualization metadata resources
- REST‑style endpoints for server status and MCP interactions
Use cases of EAIM MCP Server
- Query social media engagement metrics using natural language (e.g., “Show me the engagement of Vodafone EG over the last month”)
- Retrieve data for a specific visualization from an EAIM dashboard
- List available dashboards and their visualizations via MCP resources
- Build real‑time analytics dashboards by listening to Socket.IO events
- Automate reporting workflows by integrating the MCP tools into LLM clients
FAQ from EAIM MCP Server
What are the prerequisites for running the server?
Python 3.8 or higher and pip are required. Dependencies are installed via pip install -r requirements.txt.
How can I run the server with Docker?
Build the image with docker build -t eaim-mcp-server . and run the container with docker run -p 8000:8000 eaim-mcp-server.
Which Socket.IO events are available?
Clients can emit a query_data event with a natural language query. The server emits status, data, and error events in response.
What MCP tools does the server provide?
Two tools: get_visualization_data (requires dashboard_id, visualization_id, brand, period) and query_natural_language (requires a query string). Both are accessible via the /mcp endpoint.
What MCP resources are available?
The available_dashboards resource lists all dashboards, and available_visualizations (requires dashboard_id) lists visualizations for a specific dashboard.