发现优秀的 MCP 服务器

通过 MCP 服务器扩展您的代理能力,拥有 12,225 个能力。

研究与数据1,246
SQLGenius - AI-Powered SQL Assistant

SQLGenius - AI-Powered SQL Assistant

SQLGenius 是一款由 AI 驱动的 SQL 助手,它使用 Vertex AI 的 Gemini Pro 将自然语言转换为 SQL 查询。它基于 MCP 和 Streamlit 构建,提供了一个直观的界面,用于 BigQuery 数据探索,并具有实时可视化和模式管理功能。

Awesome MCP Servers

Awesome MCP Servers

模型上下文协议 (MCP) 服务器的综合集合

Mcp Akshare

Mcp Akshare

AKShare 是一个基于 Python 的金融数据接口库,旨在提供一套工具,用于采集、清洗和存储股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据以及衍生数据。它主要用于学术研究目的。

Structured Thinking

Structured Thinking

一个统一的 MCP 服务器,用于结构化思维工具,包括模板思维和验证思维。 (Alternatively, depending on the specific context and target audience, you could also say:) 一个整合的 MCP 服务器,提供结构化思维工具,例如模板思维和验证思维。

🧠 MCP PID Wallet Verifier

🧠 MCP PID Wallet Verifier

一个轻量级且对 AI 友好的 MCP 服务器,允许任何 AI 代理或 MCP 兼容的助手通过 OIDC4VP 发起和验证 PID(个人身份数据)凭证展示。

mcp_server

mcp_server

Okay, I understand. You want me to describe how to implement a "weather MCP server" that can be called by a client IDE like Cursor. Here's a breakdown of the concept, implementation considerations, and a simplified example (using Python and a basic HTTP API) to illustrate the core ideas. **What is an MCP Server (in this context)?** In this scenario, "MCP" likely refers to a *Microservice Communication Protocol* or a similar concept. It means you're building a small, independent service (the weather server) that provides weather information and communicates with other applications (like the Cursor IDE) using a defined protocol. In practice, this often translates to a RESTful API over HTTP. **Key Components** 1. **Weather Data Source:** * This is where your server gets the actual weather information. You'll likely use a third-party weather API (e.g., OpenWeatherMap, AccuWeather, WeatherAPI.com). These APIs typically require you to sign up for an account and obtain an API key. * Consider caching the weather data to reduce the number of API calls and improve response times. 2. **Server-Side Implementation (e.g., Python with Flask/FastAPI):** * This is the core of your weather server. It handles incoming requests, fetches weather data from the data source, and formats the response. * **Framework Choice:** * **Flask:** A lightweight and flexible framework, good for simple APIs. * **FastAPI:** A modern, high-performance framework with automatic data validation and API documentation (using OpenAPI/Swagger). Generally preferred for new projects. * **API Endpoints:** You'll define endpoints like: * `/weather?city={city_name}`: Returns weather information for a specific city. * `/weather?zip={zip_code}`: Returns weather information for a specific zip code. * `/forecast?city={city_name}`: Returns a weather forecast for a specific city. 3. **Client-Side Integration (in Cursor IDE):** * The Cursor IDE (or any other client) will need to make HTTP requests to your weather server's API endpoints. * This might involve writing code within Cursor (e.g., using JavaScript or Python within a Cursor extension) to: * Get user input (e.g., the city name). * Construct the API request URL. * Send the request to the weather server. * Parse the JSON response from the server. * Display the weather information in the Cursor IDE. **Implementation Steps (Simplified Example with Python and Flask)** **1. Set up your environment:** ```bash # Create a project directory mkdir weather_server cd weather_server # Create a virtual environment (recommended) python3 -m venv venv source venv/bin/activate # On Linux/macOS # venv\Scripts\activate # On Windows # Install Flask and requests (for making HTTP requests to the weather API) pip install Flask requests ``` **2. `weather_server.py` (Flask Server):** ```python from flask import Flask, request, jsonify import requests import os app = Flask(__name__) # Replace with your actual OpenWeatherMap API key API_KEY = os.environ.get("OPENWEATHERMAP_API_KEY") or "YOUR_OPENWEATHERMAP_API_KEY" # Get from environment variable or hardcode (not recommended for production) BASE_URL = "https://api.openweathermap.org/data/2.5/weather" def get_weather_data(city): """Fetches weather data from OpenWeatherMap.""" params = { "q": city, "appid": API_KEY, "units": "metric", # Use Celsius } try: response = requests.get(BASE_URL, params=params) response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) data = response.json() return data except requests.exceptions.RequestException as e: print(f"Error fetching weather data: {e}") return None @app.route("/weather") def weather(): """API endpoint to get weather by city.""" city = request.args.get("city") if not city: return jsonify({"error": "City parameter is required"}), 400 weather_data = get_weather_data(city) if weather_data: # Extract relevant information temperature = weather_data["main"]["temp"] description = weather_data["weather"][0]["description"] humidity = weather_data["main"]["humidity"] wind_speed = weather_data["wind"]["speed"] return jsonify({ "city": city, "temperature": temperature, "description": description, "humidity": humidity, "wind_speed": wind_speed }) else: return jsonify({"error": "Could not retrieve weather data for that city"}), 500 if __name__ == "__main__": app.run(debug=True) # Don't use debug=True in production! ``` **3. Running the Server:** ```bash # Set your OpenWeatherMap API key (replace with your actual key) export OPENWEATHERMAP_API_KEY="YOUR_OPENWEATHERMAP_API_KEY" # Linux/macOS # set OPENWEATHERMAP_API_KEY="YOUR_OPENWEATHERMAP_API_KEY" # Windows # Run the Flask server python weather_server.py ``` **4. Example Client-Side Code (Conceptual - in Cursor IDE):** This is a *very* simplified example of how you *might* integrate this into Cursor. The exact implementation will depend on Cursor's extension API and how you want to display the information. This assumes you can execute JavaScript or Python code within Cursor. ```javascript // Example JavaScript code (Conceptual - adapt to Cursor's API) async function getWeather(city) { const apiUrl = `http://127.0.0.1:5000/weather?city=${city}`; // Replace with your server's address try { const response = await fetch(apiUrl); const data = await response.json(); if (response.ok) { // Display the weather information in the Cursor IDE console.log(`Weather in ${data.city}:`); console.log(`Temperature: ${data.temperature}°C`); console.log(`Description: ${data.description}`); console.log(`Humidity: ${data.humidity}%`); console.log(`Wind Speed: ${data.wind_speed} m/s`); // You'd need to use Cursor's API to actually display this in the editor or a panel. // For example, Cursor might have a function like: // cursor.showInformationMessage(`Weather in ${data.city}: ...`); } else { console.error(`Error: ${data.error}`); // Display an error message in Cursor } } catch (error) { console.error("Error fetching weather:", error); // Display a network error in Cursor } } // Example usage: const cityName = "London"; // Or get the city from user input in Cursor getWeather(cityName); ``` **Explanation and Improvements** * **Error Handling:** The code includes basic error handling (checking for API errors, missing city parameter). Robust error handling is crucial for production. * **API Key Security:** *Never* hardcode your API key directly in the code, especially if you're sharing it. Use environment variables (as shown) or a configuration file. * **Asynchronous Operations:** Use `async/await` (as in the JavaScript example) to avoid blocking the UI thread while waiting for the API response. * **Data Validation:** Use a library like `marshmallow` (in Python) or a similar validation library in your chosen language to validate the data received from the weather API. This helps prevent unexpected errors. * **Caching:** Implement caching to store frequently accessed weather data. This reduces the load on the weather API and improves response times. You could use a simple in-memory cache (for small-scale deployments) or a more robust caching solution like Redis or Memcached. * **Rate Limiting:** Be aware of the rate limits imposed by the weather API you're using. Implement rate limiting in your server to avoid exceeding the limits and getting your API key blocked. * **Logging:** Use a logging library (e.g., `logging` in Python) to log important events, errors, and debugging information. * **API Documentation:** Use a tool like Swagger (with FastAPI) to automatically generate API documentation. This makes it easier for other developers to use your weather server. * **Deployment:** Consider deploying your weather server to a cloud platform like AWS, Google Cloud, or Azure. **Chinese Translation of Key Concepts** * **Weather MCP Server:** 天气 MCP 服务器 (Tiānqì MCP fúwùqì) * **Microservice Communication Protocol:** 微服务通信协议 (Wēi fúwù tōngxìn xiéyì) * **API Endpoint:** API 端点 (API duāndiǎn) * **RESTful API:** RESTful API (RESTful API) (The term is often used directly in Chinese as well) * **API Key:** API 密钥 (API mìyào) * **Data Source:** 数据源 (shùjù yuán) * **Caching:** 缓存 (huǎncún) * **Rate Limiting:** 速率限制 (sùlǜ xiànzhì) * **Error Handling:** 错误处理 (cuòwù chǔlǐ) * **Environment Variable:** 环境变量 (huánjìng biànliàng) **Important Considerations for Cursor Integration** * **Cursor's Extension API:** The most important thing is to understand Cursor's extension API. How can you create extensions, access the editor, display information, and get user input? Refer to Cursor's official documentation for this. * **Security:** Be very careful about security when integrating with an IDE. Avoid storing sensitive information (like API keys) directly in the extension code. Use secure storage mechanisms provided by the IDE or the operating system. * **User Experience:** Design the integration to be as seamless and intuitive as possible for the user. Consider how the weather information will be displayed (e.g., in a tooltip, a panel, or directly in the editor). This detailed explanation and example should give you a solid foundation for building your weather MCP server and integrating it with Cursor. Remember to adapt the code and concepts to your specific needs and the capabilities of the Cursor IDE. Good luck!

Chroma MCP Server

Chroma MCP Server

用于将 ChromaDB 集成到 Cursor 中,并使用 MCP 兼容 AI 模型的 MCP 服务器

Thirdweb Mcp

Thirdweb Mcp

MCP Client-Server Sandbox for LLM Augmentation

MCP Client-Server Sandbox for LLM Augmentation

用于增强 LLM 推理(本地或云端)的完整沙盒,集成了 MCP 客户端-服务器。为 MCP 服务器验证和 Agentic 评估提供低摩擦的试验平台。

Weather MCP Server

Weather MCP Server

一个模型上下文协议(MCP)服务器,提供来自加拿大政府天气API的天气预报数据。通过纬度和经度获取加拿大任何地点准确的5天天气预报。可轻松与Claude Desktop和其他兼容MCP的客户端集成。

Awesome-MCP-ZH

Awesome-MCP-ZH

MCP 资源精选 (MCP zīyuán jīngxuǎn), MCP 指南 (MCP zhǐnán), Claude MCP, MCP 服务器 (MCP fúwùqì), MCP 客户端 (MCP kèhùduān)

ms_salespower_mcp

ms_salespower_mcp

通过 MCP 服务器启用有用的销售用例,以便在任何常见的 AI 聊天中使用。

Java Map Component Platform (Java MCP)

Java Map Component Platform (Java MCP)

Java MCP 服务器 (Java MCP fúwùqì)

PrimeKG to Neo4j

PrimeKG to Neo4j

PrimeKG数据集的MCP服务器

bio-mcp

bio-mcp

生物信息学家和计算生物学家的 MCP 服务器

Google Search Console MCP Server

Google Search Console MCP Server

mcp-server-taiwan-aqi

mcp-server-taiwan-aqi

好的,请稍等。我需要连接到台湾空气质量监测站的数据源。由于我无法直接访问外部网站或数据库,我建议您访问以下网站获取您需要的数据: * **行政院环境保护署空气品质监测网 (Taiwan EPA Air Quality Monitoring Network):** 这是台湾官方的空气质量监测网站。您可以在这里找到实时和历史的空气质量数据。通常,您可以选择不同的监测站,并查看过去24小时的数据。 * **中文网址:** [https://airtw.epa.gov.tw/](https://airtw.epa.gov.tw/) * **英文网址:** (通常在中文网站上可以找到英文版本,或者搜索 "Taiwan EPA Air Quality Monitoring Network English") **您可以在该网站上找到以下信息:** * **空气质量指标 (AQI):** 空气质量的总体指标。 * **各项污染物浓度:** 例如 PM2.5, PM10, O3, SO2, NO2, CO 等。 * **监测站位置:** 各个监测站的地理位置。 * **历史数据:** 可以查询过去一段时间的空气质量数据。 **建议您按照以下步骤操作:** 1. **访问上述网站。** 2. **选择您感兴趣的监测站。** 您可以根据地理位置选择。 3. **查看实时数据和过去24小时的数据。** 网站通常会提供图表或表格形式的数据。 希望这些信息对您有帮助!

Chinese Calendar Mcp

Chinese Calendar Mcp

自动发文 MCP Server

自动发文 MCP Server

MCP 自动发文服务 (MCP zìdòng fāwén fúwù)

mcp-clockify

mcp-clockify

MCP Clockify 服务器

Armor Mcp

Armor Mcp

用于与区块链、交易、战略规划等交互的 MCP 服务器。

Apple Books MCP

Apple Books MCP

苹果图书 MCP 服务器 (Píngguǒ Túshū MCP Fúwùqì)

Google Search MCP Server

Google Search MCP Server

镜子 (jìng zi)

MCP-RAG

MCP-RAG

基于 MCP 服务器的 RAG 系统 (Jīyú MCP fúwùqì de RAG xìtǒng) This translates to: **"RAG system based on MCP server"** While this is a direct translation, it might be helpful to provide a little more context depending on the intended audience. Here are a few options: * **More formal/technical:** 使用 MCP 服务器的检索增强生成系统 (Shǐyòng MCP fúwùqì de jiǎnsuǒ zēngqiáng shēngchéng xìtǒng) - "Retrieval-Augmented Generation system using an MCP server." This is more literal and emphasizes the technical aspects. * **Slightly more descriptive (but still concise):** 利用 MCP 服务器的 RAG 系统 (Lìyòng MCP fúwùqì de RAG xìtǒng) - "RAG system that leverages an MCP server." **Therefore, the best translation depends on the context. However, the first option, "基于 MCP 服务器的 RAG 系统 (Jīyú MCP fúwùqì de RAG xìtǒng)" is a good general translation.**

Juhe Weather MCP Server

Juhe Weather MCP Server

镜子 (jìng zi)

Mindmap MCP Server

Mindmap MCP Server

镜子 (jìng zi)

MCP

MCP

MCP 服务器 (MCP fúwùqì)

Sample Mcp Servers

Sample Mcp Servers

X Tools for Claude MCP

X Tools for Claude MCP

适用于 Claude MCP 的 X 工具:一个轻量级的工具包,使 Claude 能够使用自然语言搜索 Twitter,并根据用户意图显示结果。获取原始推文数据或 AI 分析——由您选择。支持高级 Twitter 搜索运算符,并可按用户、日期和互动指标进行过滤。通过 MCP 与 Claude Desktop 无缝集成。

Basic Math MCP Server

Basic Math MCP Server