Discover Awesome MCP Servers

Extend your agent with 53,434 capabilities via MCP servers.

All53,434
YaVendió Tools

YaVendió Tools

An MCP-based messaging system that allows AI systems to interact with various messaging platforms through standardized tools for sending text, images, documents, buttons, and alerts.

pumpswap-mcp

pumpswap-mcp

pumpswap-mcp

Model Context Protocol (MCP)

Model Context Protocol (MCP)

Okay, I understand. You want a working pattern (a design pattern or architectural approach) for building SSE (Server-Sent Events) based MCP (Message Channel Protocol) clients and servers, leveraging the Gemini LLM (Large Language Model). Here's a breakdown of a potential working pattern, along with explanations and considerations: **Core Idea:** The pattern aims to use SSE for real-time communication between MCP clients and servers, with Gemini LLM playing a role in processing or generating messages within this communication flow. This could involve: * **LLM-Enhanced Message Generation:** The server uses Gemini to generate dynamic and context-aware messages sent to the client via SSE. * **LLM-Powered Client Interaction:** The client uses Gemini to understand and respond to SSE messages, potentially generating new messages to send back to the server (perhaps via a separate channel like a standard HTTP POST). * **LLM-Driven Data Enrichment:** The server uses Gemini to enrich data before sending it to the client via SSE, providing more insightful or personalized information. **Pattern Name:** LLM-Augmented Real-Time Messaging (or something similar) **Components:** 1. **MCP Client:** * **SSE Connection Handler:** Establishes and maintains the SSE connection to the server. Handles incoming SSE events. * **Message Parser:** Parses the data received in SSE events. This might involve JSON parsing, or other formats depending on your MCP implementation. * **Gemini Integration (Optional):** * **Message Understanding:** Uses Gemini to understand the meaning and intent of incoming SSE messages. * **Response Generation:** Uses Gemini to generate appropriate responses to the server, potentially based on the content of the SSE messages and the user's current context. * **Data Presentation:** Uses Gemini to format and present the data received via SSE in a user-friendly way. * **User Interface (UI):** Displays information to the user and allows them to interact with the system. * **Request Sender (Optional):** If the client needs to send data back to the server (e.g., user input, acknowledgements), this component handles sending HTTP requests (e.g., POST, PUT) to the server. 2. **MCP Server:** * **SSE Endpoint:** An HTTP endpoint that serves SSE events. * **Message Generator:** Creates the messages to be sent to the client via SSE. * **Gemini Integration (Crucial):** * **Message Generation:** Uses Gemini to generate dynamic and context-aware messages. This could involve: * Generating personalized recommendations. * Creating summaries of data. * Crafting engaging notifications. * Adapting messages based on user behavior. * **Data Enrichment:** Uses Gemini to enrich data before sending it to the client. For example, adding sentiment analysis, topic extraction, or contextual information. * **Request Processing (Optional):** Handles incoming HTTP requests from the client (e.g., POST requests with user input). May use Gemini to process or understand these requests. * **Data Source:** The source of the data that is being sent to the client. This could be a database, an API, or other data sources. * **Event Stream:** A mechanism for triggering the generation of SSE events. This could be based on database changes, external events, or scheduled tasks. **Communication Flow:** 1. **Client Connection:** The client establishes an SSE connection to the server's SSE endpoint. 2. **Server Event Trigger:** An event occurs on the server (e.g., data update, timer expiry). 3. **Message Generation (Server):** The server's message generator, potentially using Gemini, creates a message to be sent to the client. Gemini might be used to personalize the message, summarize data, or add context. 4. **SSE Event Transmission:** The server sends the message to the client as an SSE event. 5. **Client Event Reception:** The client receives the SSE event. 6. **Message Parsing (Client):** The client parses the message data. 7. **Gemini Processing (Optional Client):** The client, optionally, uses Gemini to understand the message and generate a response. 8. **UI Update (Client):** The client updates the UI to display the information to the user. 9. **Client Request (Optional):** The client, optionally, sends a request back to the server (e.g., user input, acknowledgement). 10. **Server Request Processing (Optional):** The server processes the client's request, potentially using Gemini to understand the request. **Example Scenario: Real-Time Stock Updates with LLM-Powered Insights** * **MCP Client:** A stock trading application. * **MCP Server:** A server providing real-time stock data. * **SSE:** Used to push stock price updates to the client. * **Gemini (Server):** Used to generate insights and summaries about the stock price movements. For example: * "Stock XYZ is up 5% today, driven by positive news about their new product launch. Analysts predict further gains in the short term." * "Warning: Stock ABC has experienced a sudden drop of 10% in the last hour. This may be due to a negative earnings report." * **Gemini (Client - Optional):** Could be used to allow the user to ask questions about the stock data, such as "Why is stock XYZ going up?" and receive a Gemini-generated answer based on the SSE data and external information. **Code Snippets (Illustrative - Python with Flask and `sse_starlette`):** **Server (Python/Flask):** ```python from flask import Flask, Response, request from sse_starlette.sse import EventSourceResponse import google.generativeai as genai import os app = Flask(__name__) # Configure Gemini (replace with your API key) GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY") genai.configure(api_key=GOOGLE_API_KEY) model = genai.GenerativeModel('gemini-pro') # Mock stock data (replace with your actual data source) stock_prices = {"XYZ": 100.00, "ABC": 50.00} async def stock_price_stream(): while True: # Simulate stock price changes stock_prices["XYZ"] += (random.random() - 0.5) * 2 # +/- 1 stock_prices["ABC"] -= (random.random() - 0.5) * 1 # +/- 0.5 # Generate LLM-powered insight prompt = f"Summarize the current stock prices: XYZ is {stock_prices['XYZ']:.2f}, ABC is {stock_prices['ABC']:.2f}." response = model.generate_content(prompt) insight = response.text event_data = { "XYZ": stock_prices["XYZ"], "ABC": stock_prices["ABC"], "insight": insight } yield { "event": "stock_update", "data": json.dumps(event_data) } await asyncio.sleep(5) # Send updates every 5 seconds @app.route('/stream') async def stream(): return EventSourceResponse(stock_price_stream()) if __name__ == '__main__': import random import asyncio import json app.run(debug=True, port=5000) ``` **Client (JavaScript):** ```html <!DOCTYPE html> <html> <head> <title>Stock Updates</title> </head> <body> <h1>Stock Prices</h1> <div id="stock-data"></div> <script> const eventSource = new EventSource('/stream'); eventSource.onmessage = function(event) { console.log("Raw event data:", event.data); // Log the raw data try { const data = JSON.parse(event.data); console.log("Parsed data:", data); // Log the parsed data const stockDataDiv = document.getElementById('stock-data'); stockDataDiv.innerHTML = ` XYZ: ${data.XYZ.toFixed(2)}<br> ABC: ${data.ABC.toFixed(2)}<br> Insight: ${data.insight} `; } catch (error) { console.error("Error parsing JSON:", error); console.error("Event data that caused the error:", event.data); } }; eventSource.onerror = function(error) { console.error("SSE error:", error); }; </script> </body> </html> ``` **Key Considerations:** * **Gemini API Usage:** Be mindful of Gemini's API usage limits and costs. Implement caching and rate limiting to avoid exceeding your quota. * **Error Handling:** Implement robust error handling on both the client and server. Handle connection errors, API errors, and data parsing errors gracefully. * **Security:** Secure your SSE endpoint. Use authentication and authorization to prevent unauthorized access. Sanitize any user input before sending it to Gemini. * **Data Format:** Choose a data format for SSE events that is efficient and easy to parse (e.g., JSON). * **Scalability:** Consider the scalability of your SSE server. Use a scalable SSE library or framework. You might need to use a message queue (e.g., RabbitMQ, Kafka) to handle a large number of clients. * **Real-time Requirements:** SSE is near real-time, but it's not guaranteed to be perfectly real-time. If you need true real-time communication, consider using WebSockets. * **Complexity:** Integrating an LLM adds complexity. Carefully consider whether the benefits of using Gemini outweigh the added complexity. * **Context Management:** For more complex interactions, you'll need to manage the context of the conversation between the client and server. This could involve storing conversation history or using Gemini's context management features. * **Prompt Engineering:** The quality of Gemini's output depends heavily on the prompts you provide. Experiment with different prompts to find the ones that produce the best results. **Benefits of this Pattern:** * **Real-time Updates:** SSE provides real-time updates to the client. * **LLM-Powered Intelligence:** Gemini can be used to generate dynamic, personalized, and insightful messages. * **Improved User Experience:** The combination of real-time updates and LLM-powered intelligence can lead to a more engaging and informative user experience. * **Flexibility:** The pattern is flexible and can be adapted to a variety of use cases. **Alternatives:** * **WebSockets:** WebSockets provide full-duplex communication, which can be useful if the client needs to send a lot of data back to the server. * **Long Polling:** Long polling is a simpler alternative to SSE, but it is less efficient. * **Traditional HTTP Requests:** For applications that don't require real-time updates, traditional HTTP requests may be sufficient. This detailed explanation and code example should give you a solid foundation for building SSE-based MCP clients and servers using Gemini LLM. Remember to adapt the pattern to your specific needs and requirements. Good luck!

FreeCrawl MCP Server

FreeCrawl MCP Server

Enables web scraping and document processing with JavaScript execution, anti-detection measures, batch processing, and structured data extraction. Supports multiple formats including markdown, HTML, screenshots, and handles PDFs with OCR capabilities.

Accessibility MCP Server

Accessibility MCP Server

Provides comprehensive accessibility auditing tools for websites using axe-core, Lighthouse CLI, and WAVE API. Returns deterministic, WCAG-mapped results with selectors and DOM context for remediation.

medwriter-mcp

medwriter-mcp

Medical Writer's AI Toolkit — 33 expert prompts for pharma medical writing as MCP tools

thermal-mcp-server

thermal-mcp-server

A physics engine for liquid-cooled GPU systems, exposed as an AI-callable MCP server. Enables thermal analysis, coolant comparison, flow optimization, and rack-level sizing via natural language queries.

vSphere MCP Server

vSphere MCP Server

Enables AI agents to manage VMware vSphere virtual infrastructure through comprehensive operations including VM power control, snapshot management, resource monitoring, performance analytics, and bulk operations with built-in safety confirmations for destructive actions.

MANIT ERP MCP Server

MANIT ERP MCP Server

Simple MCP server that exposes a tool to fetch student result/CGPA data from MANIT ERP APIs.

negative-results-mcp

negative-results-mcp

Negative results intelligence for drug discovery: inactive compounds, failed selectivity panels, terminated clinical trials, failed CRISPR screens, antibody developability failures, and more — each result carrying full provenance (source database, DOI/PMID, license)

Interactive Feedback MCP

Interactive Feedback MCP

A Model Context Protocol server that enables AI assistants to request user feedback at critical points during interactions, improving communication and reducing unnecessary tool calls.

Garmin Connect MCP Server

Garmin Connect MCP Server

Connects Garmin Connect data to MCP-compatible clients, providing access to fitness activities, health metrics, and training plans. It supports advanced features like headless 2FA and automated MFA retrieval to enable seamless health data interaction through natural language.

odigo-elastic-s2l-mcp

odigo-elastic-s2l-mcp

Connects LLMs to Elasticsearch with a Semantic-to-Lexical layer that translates technical field names into business knowledge, enabling autonomous querying without hardcoded domain logic.

MySQL MCP Server

MySQL MCP Server

Enables secure interaction with MySQL databases through listing tables, reading data, and executing SQL queries with proper error handling and controlled access.

MCP Databases Server

MCP Databases Server

Enables LLMs and agents to interact with relational databases (SQL Server, MySQL, PostgreSQL) through MCP tools. Supports executing queries, inserting records, listing tables, and exposing database schemas with secure credential management.

Feishu Integration Server

Feishu Integration Server

Cung cấp quyền truy cập vào tài liệu Feishu (Lark) cho các công cụ lập trình dựa trên AI như Cursor, Windsurf và Cline dựa trên việc triển khai Giao thức Ngữ cảnh Mô hình (Model Context Protocol).

agriculture-mcp-server

agriculture-mcp-server

MCP server for agriculture and farming data. 8 tools: soil conditions (temperature, moisture), crop weather forecasts, historical climate data (NASA POWER, since 1981), global agriculture statistics (World Bank, 20+ indicators), and food product database (Open Food Facts, 3M+ products). All APIs free, no keys required.

Gold Standard Apology MCP

Gold Standard Apology MCP

Provides guidelines for writing proper apologies based on the situation, relationship, and severity. Returns structured prompts that help LLMs generate sincere and appropriate apology letters in Korean.

Supabase MCP Server

Supabase MCP Server

Connects AI assistants to Supabase projects, enabling them to manage tables, query data, deploy Edge Functions, handle migrations, and access project resources through natural language commands.

@margint-ai/mcp

@margint-ai/mcp

Enables querying Margint per-customer AI margins and costs from MCP clients. Provides tools to list customers, drill into costs, check budgets, and view workspace-wide cost breakdowns.

jpzip MCP server

jpzip MCP server

Enables to look up Japanese postal codes, convert zipcodes to addresses, search addresses by query, and list cities in a prefecture using the jpzip dataset.

JSON MCP Boilerplate

JSON MCP Boilerplate

A starter template for building MCP (Model Context Protocol) servers with TypeScript support. Provides a clean foundation with example tools, resources, and prompts for creating custom integrations with Claude, Cursor, or other MCP-compatible AI assistants.

Attio MCP Server

Attio MCP Server

Enables AI assistants to interact with Attio CRM through natural language, providing complete access to companies, people, deals, tasks, lists, notes, and records with advanced search, batch operations, and relationship management.

cisco-secure-access-mcp

cisco-secure-access-mcp

A community MCP server for Cisco Secure Access that exposes the Secure Access REST API to AI clients as a curated catalog of tools for Admin, Deployments, Investigate, Policies, and Reports.

MCP-openproject

MCP-openproject

MCP-openproject

Puch AI MCP Starter

Puch AI MCP Starter

A starter template for creating MCP servers compatible with Puch AI, featuring built-in tools for job searching and analysis, plus basic image processing capabilities. Includes authentication and deployment guidance for extending Puch AI with custom tools.

Time Tools MCP Server

Time Tools MCP Server

A Model Context Protocol server for time manipulation tasks, enabling AI models to get the current date/time and calculate duration between timestamps.

Inspectra

Inspectra

Enables hybrid code audits using MCP tools across 12 domains, producing structured, scored, and actionable code quality reports.

Jupyter MCP Server

Jupyter MCP Server

Cho phép tương tác với sổ tay Jupyter thông qua Giao thức Ngữ cảnh Mô hình, hỗ trợ thực thi mã và chèn markdown trong môi trường JupyterLab.

MCP Weather & Files AI Server

MCP Weather & Files AI Server

An advanced Model Context Protocol server that integrates real-time weather data, local file system navigation, and geographic information with AI-powered analysis tools. It enables users to perform complex data evaluations and manage files while accessing live climatic and demographic data through compatible MCP clients.