Discover Awesome MCP Servers
Extend your agent with 50,638 capabilities via MCP servers.
- All50,638
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
CSMAR MCP Server
Enables direct access to CSMAR financial databases through Claude Code. Supports 240+ databases including financial statements, stock trading data, and company information with intelligent login management and 11 MCP tools.
Outline MCP Server
An MCP server that enables reading, writing, and searching documents in Outline via its API. It supports document management, full-text search, and collection organization using Markdown formatting.
reddit-mcp
A read-only Model Context Protocol server that enables browsing subreddits, searching within subreddits, retrieving comment trees, and looking up user activity on Reddit via natural language.
mcp-server-demo
✨ MCP 服务器演示
TanStack MCP Server
Wraps the TanStack CLI to provide programmatic access to documentation, library listings, and project scaffolding for the TanStack ecosystem. It enables AI assistants to search documentation and create new TanStack applications through the Model Context Protocol.
MCP WPPConnect Server
Enables WhatsApp automation through MCP protocol, allowing users to manage sessions, send messages, handle groups/communities, and access contacts through natural language interactions with AI agents.
Whoop MCP Server
Integrates WHOOP biometric data into Claude and other MCP-compatible applications, providing access to sleep analysis, recovery metrics, strain tracking, and biological age data through natural language queries.
SharePoint MCP: The .NET MCP Server with Graph API & Semantic Kernel
Okay, I understand. You want to create an **MCP (Message Center Provider) server** to access **SharePoint Online**. However, there's a potential misunderstanding here. "MCP server" isn't a standard term in the context of SharePoint Online development. It sounds like you're aiming to build a custom application or service that interacts with SharePoint Online data, possibly to receive and process notifications or updates. Therefore, I'll provide you with a general outline and explanation of how to build a service that can access SharePoint Online data, including how to handle notifications and changes. This will involve using the Microsoft Graph API and/or the SharePoint REST API. Here's a breakdown of the steps and considerations, along with the Chinese translation of key terms: **1. Understanding the Goal (理解目标)** * **English:** You want to create a service that can access and potentially react to changes in SharePoint Online. This might involve: * Retrieving data (lists, libraries, documents, etc.) * Monitoring for changes (new files, updated items, etc.) * Performing actions based on those changes (e.g., sending notifications, triggering workflows). * **Chinese:** 你想创建一个服务,可以访问并可能对 SharePoint Online 中的更改做出反应。 这可能涉及: * 检索数据(列表、库、文档等) * 监视更改(新文件、更新的项目等) * 根据这些更改执行操作(例如,发送通知、触发工作流)。 **2. Choosing an API (选择 API)** * **Microsoft Graph API (Microsoft Graph API):** This is the recommended approach for most new development. It provides a unified endpoint to access data across Microsoft 365, including SharePoint Online. It's generally easier to use and more feature-rich than the SharePoint REST API. * **SharePoint REST API (SharePoint REST API):** This is a more direct way to interact with SharePoint Online. It's useful if you need very specific control over SharePoint features. **3. Authentication and Authorization (身份验证和授权)** * **English:** Your service needs to authenticate with Azure Active Directory (Azure AD) to access SharePoint Online. You'll need to register an application in Azure AD and grant it the necessary permissions. There are two main authentication flows: * **Delegated Permissions (委派权限):** The application acts on behalf of a user. The user needs to grant consent to the application. * **Application Permissions (应用程序权限):** The application acts on its own behalf, without a user. This requires administrator consent. This is generally preferred for background services. * **Chinese:** 您的服务需要使用 Azure Active Directory (Azure AD) 进行身份验证才能访问 SharePoint Online。 您需要在 Azure AD 中注册一个应用程序,并授予它必要的权限。 有两种主要的身份验证流程: * **委派权限:** 应用程序代表用户行事。 用户需要授予应用程序同意。 * **应用程序权限:** 应用程序代表自己行事,无需用户。 这需要管理员同意。 这通常是后台服务的首选。 **4. Development Steps (开发步骤)** Here's a general outline of the development process, using the Microsoft Graph API as an example: * **Step 1: Register an Application in Azure AD (在 Azure AD 中注册应用程序)** * Go to the Azure portal (portal.azure.com). * Navigate to "Azure Active Directory" -> "App registrations". * Click "New registration". * Give your application a name (e.g., "SharePointDataService"). * Choose the appropriate account type (usually "Single tenant"). * Set the redirect URI (if needed; for a background service, this might not be necessary). * Click "Register". * Note the "Application (client) ID" and "Directory (tenant) ID". You'll need these later. * **Step 2: Grant API Permissions (授予 API 权限)** * In your Azure AD app registration, go to "API permissions". * Click "Add a permission". * Select "Microsoft Graph". * Choose "Application permissions" (for a background service). * Search for and select the necessary permissions. Common permissions include: * `Sites.Read.All` (Read SharePoint sites) * `Sites.ReadWrite.All` (Read and write SharePoint sites) * `Sites.Manage.All` (Full control of SharePoint sites) * `Files.Read.All` (Read all files) * `Files.ReadWrite.All` (Read and write all files) * Click "Add permissions". * **Important:** After adding application permissions, you need to grant admin consent. Click "Grant admin consent for [Your Tenant Name]". * **Step 3: Obtain an Access Token (获取访问令牌)** * You'll need to use a library like MSAL (Microsoft Authentication Library) to obtain an access token. The code will vary depending on your programming language. Here's a Python example using `msal`: ```python import msal # Replace with your actual values CLIENT_ID = "YOUR_CLIENT_ID" CLIENT_SECRET = "YOUR_CLIENT_SECRET" TENANT_ID = "YOUR_TENANT_ID" AUTHORITY = f"https://login.microsoftonline.com/{TENANT_ID}" SCOPES = ["https://graph.microsoft.com/.default"] # Use .default for application permissions app = msal.ConfidentialClientApplication( CLIENT_ID, authority=AUTHORITY, client_credential=CLIENT_SECRET ) result = app.acquire_token_for_client(scopes=SCOPES) if "access_token" in result: access_token = result["access_token"] print("Access Token:", access_token) else: print(result.get("error_description", "No error information available")) ``` * **Chinese:** ```python import msal # 替换为您的实际值 CLIENT_ID = "YOUR_CLIENT_ID" CLIENT_SECRET = "YOUR_CLIENT_SECRET" TENANT_ID = "YOUR_TENANT_ID" AUTHORITY = f"https://login.microsoftonline.com/{TENANT_ID}" SCOPES = ["https://graph.microsoft.com/.default"] # 使用 .default 作为应用程序权限 app = msal.ConfidentialClientApplication( CLIENT_ID, authority=AUTHORITY, client_credential=CLIENT_SECRET ) result = app.acquire_token_for_client(scopes=SCOPES) if "access_token" in result: access_token = result["access_token"] print("访问令牌:", access_token) else: print(result.get("error_description", "没有可用的错误信息")) ``` * **Step 4: Call the Microsoft Graph API (调用 Microsoft Graph API)** * Use the access token to make requests to the Microsoft Graph API. For example, to get a list of SharePoint sites: ```python import requests GRAPH_API_ENDPOINT = "https://graph.microsoft.com/v1.0/sites" headers = { "Authorization": f"Bearer {access_token}" } response = requests.get(GRAPH_API_ENDPOINT, headers=headers) if response.status_code == 200: sites = response.json() print("SharePoint Sites:", sites) else: print("Error:", response.status_code, response.text) ``` * **Chinese:** ```python import requests GRAPH_API_ENDPOINT = "https://graph.microsoft.com/v1.0/sites" headers = { "Authorization": f"Bearer {access_token}" } response = requests.get(GRAPH_API_ENDPOINT, headers=headers) if response.status_code == 200: sites = response.json() print("SharePoint 站点:", sites) else: print("错误:", response.status_code, response.text) ``` * **Step 5: Handle Changes and Notifications (处理更改和通知)** * **Microsoft Graph Change Notifications (Microsoft Graph 更改通知):** This is the recommended way to receive notifications about changes in SharePoint Online. You can subscribe to changes on specific resources (e.g., a list, a library, a file). When a change occurs, Microsoft Graph will send a notification to your service. You'll need to set up a webhook endpoint to receive these notifications. * **SharePoint Webhooks (SharePoint Webhooks):** An older method, but still supported. Similar to Microsoft Graph Change Notifications, but specific to SharePoint. * **Polling (轮询):** The least efficient method. Your service periodically checks for changes. Avoid this if possible. **5. Key Considerations (关键考虑因素)** * **Error Handling (错误处理):** Implement robust error handling to deal with API errors, authentication failures, and other issues. * **Rate Limiting (速率限制):** Be aware of Microsoft Graph API and SharePoint REST API rate limits. Implement retry logic and caching to avoid exceeding these limits. * **Security (安全):** Protect your client ID and client secret. Store them securely (e.g., using Azure Key Vault). * **Scalability (可扩展性):** Design your service to be scalable to handle a large number of requests and notifications. * **Permissions (权限):** Only request the minimum permissions required for your service to function. * **Monitoring (监控):** Implement monitoring to track the health and performance of your service. **Example: Setting up a Microsoft Graph Change Notification (示例:设置 Microsoft Graph 更改通知)** This is a simplified example. You'll need to adapt it to your specific requirements. 1. **Create a Webhook Endpoint (创建 Webhook 端点):** This is an HTTP endpoint that will receive notifications from Microsoft Graph. You'll need to make this endpoint publicly accessible (e.g., using Azure Functions, Azure App Service, or a similar service). 2. **Create a Subscription (创建订阅):** Use the Microsoft Graph API to create a subscription to the resource you want to monitor. For example, to subscribe to changes in a SharePoint list: ```python import requests import json GRAPH_API_ENDPOINT = "https://graph.microsoft.com/v1.0/subscriptions" WEBHOOK_URL = "YOUR_WEBHOOK_URL" # Replace with your webhook URL RESOURCE = "sites/{site-id}/lists/{list-id}/items" # Replace with your site and list IDs subscription_data = { "changeType": "created,updated,deleted", "notificationUrl": WEBHOOK_URL, "resource": RESOURCE, "expirationDateTime": "2024-12-31T23:59:00.0000000Z", # Adjust expiration date "clientState": "secretClientValue" # Optional, for validation } headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } response = requests.post(GRAPH_API_ENDPOINT, headers=headers, data=json.dumps(subscription_data)) if response.status_code == 201: subscription = response.json() print("Subscription created:", subscription) else: print("Error creating subscription:", response.status_code, response.text) ``` * **Chinese:** ```python import requests import json GRAPH_API_ENDPOINT = "https://graph.microsoft.com/v1.0/subscriptions" WEBHOOK_URL = "YOUR_WEBHOOK_URL" # 替换为您的 webhook URL RESOURCE = "sites/{site-id}/lists/{list-id}/items" # 替换为您的站点和列表 ID subscription_data = { "changeType": "created,updated,deleted", "notificationUrl": WEBHOOK_URL, "resource": RESOURCE, "expirationDateTime": "2024-12-31T23:59:00.0000000Z", # 调整过期日期 "clientState": "secretClientValue" # 可选,用于验证 } headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } response = requests.post(GRAPH_API_ENDPOINT, headers=headers, data=json.dumps(subscription_data)) if response.status_code == 201: subscription = response.json() print("订阅已创建:", subscription) else: print("创建订阅时出错:", response.status_code, response.text) ``` 3. **Handle the Notification (处理通知):** When a change occurs, Microsoft Graph will send a POST request to your webhook endpoint. Your endpoint needs to: * **Validate the request:** Verify the `clientState` (if you used it). * **Process the notification:** Extract the information about the change and take appropriate action. **Important Notes:** * This is a high-level overview. You'll need to consult the Microsoft Graph API documentation and SharePoint REST API documentation for detailed information. * The code examples are in Python, but you can use any programming language that supports HTTP requests. * Remember to replace the placeholder values (e.g., `YOUR_CLIENT_ID`, `YOUR_CLIENT_SECRET`, `YOUR_TENANT_ID`, `YOUR_WEBHOOK_URL`, `site-id`, `list-id`) with your actual values. * Consider using a framework like Flask or Django (for Python) to build your webhook endpoint. This comprehensive guide should help you get started with building a service to access SharePoint Online data and handle notifications. Remember to adapt the code and steps to your specific requirements. Good luck!
MCP Text Editor Server
A Model Context Protocol (MCP) server that provides line-oriented text file editing capabilities through a standardized API. Optimized for LLM tools with efficient partial file access to minimize token usage.
simple-mcp-runner
Simple MCP Runner makes it effortless to safely expose system commands to language models via a lightweight MCP server—all configurable with a clean, minimal YAML file and zero boilerplate.
Code Search MCP
Enables LLMs to perform high-performance code search and analysis across multiple languages using symbol indexing, regex text search, and structural AST pattern matching. It also provides tools for technology stack detection and dependency analysis with persistent caching for optimized performance.
Azure Service Bus MCP Server
MCP server for Azure Service Bus that enables sending messages, inspecting queues and subscriptions, and purging test data. Complements the built-in Azure MCP server by adding write operations.
3dspace-mcp-server
Converts OpenAPI specifications into MCP tools to access 3DSpace Engineering Web Services APIs, enabling natural language interaction with 45+ services for engineering, manufacturing, and project management.
Personal MCP Server
Enables AI assistants to fetch and process YouTube video transcripts in multiple formats and languages, with built-in caching and rate limiting for efficient video content analysis.
Memory Palace
Persistent semantic memory for AI agents, enabling storage, semantic search, knowledge graph connections, and inter-instance messaging across conversations using local models via Ollama.
BetterMCPFileServer
镜子 (jìng zi)
TradeX MCP Server
Enables AI agents to research, analyze, and trade Pokemon card perpetual futures on the TradeX platform. It supports market data retrieval, trading simulations, and secure transaction execution using local Solana keypairs.
Browserbase MCP Server
Enables AI to control cloud browsers and automate web interactions through Browserbase and Stagehand. Supports web navigation, form filling, data extraction, screenshots, and automated actions with natural language commands.
mcp-toolselect
An MCP server that recommends specific tools for tasks by learning from usage patterns and historical success rates. It enables users to register tool capabilities and provides ranked recommendations that adapt based on feedback and execution data.
AI Agent Marketplace Index Search
支持通过关键词或类别搜索 AI 智能体,让用户能够在各个市场中发现诸如编码智能体、GUI 智能体或特定行业助手等工具。
Chotu Robo Server
An MCP server that integrates Arduino-based robotics (ESP32 or Arduino Nano) with AI, allowing control of hardware components like LEDs, motors, servos, and sensors through AI assistants.
Findymail MCP Server
An MCP server integrating with Findymail API that enables email validation and finding work emails using names, companies, or profile URLs.
tsrs-mcp-server
图灵交易 Rust MCP 服务器 (Túlíng jiāoyì Rust MCP fúwùqì) Or, more literally: Tushare Rust MCP 服务器 (Tushare Rust MCP fúwùqì) Which one is more appropriate depends on the context. If "tushare" is a general term and "rust mcp server" is a specific type of server used for trading, then the first translation is better. If "tushare" is a specific product or company name, then the second translation is better.
Fabric MCP Server
An MCP server that exposes Fabric patterns as tools for Cline, enabling AI-driven pattern execution directly within Cline tasks.
OpenSCAD MCP Server
Enables AI assistants to render 3D models from OpenSCAD code, generating single views or multiple perspectives with full camera control. Supports animations, custom parameters, and returns base64-encoded PNG images for seamless integration.
Gmail MCP Server
A Model Context Protocol server that enables Claude AI to interact with Gmail, supporting email sending, reading, searching, labeling, draft management, and batch operations through natural language commands.
macOS Defaults MCP Server
Enables reading and writing macOS system defaults and settings through commands equivalent to the defaults command-line tool. Supports listing domains, searching for settings, and modifying system preferences programmatically.
autoglm-mcp
Enables AI agents to analyze and interact with Android phone screens via ADB, using the AutoGLM model to answer queries about screen content and coordinates.
Google Workspace MCP Server
Exposes a curated set of Google Workspace CLI operations as tools for managing Drive, Sheets, Calendar, Docs, and Gmail. It provides a focused set of high-value operations to avoid context window bloat while enabling file management, spreadsheet updates, and email interactions.
Superset MCP Server - TypeScript
Enables AI assistants to interact with Apache Superset instances programmatically, providing 45+ tools for dashboard management, chart creation, database operations, SQL execution, and complete Superset API coverage. Supports multiple transport modes including stdio, SSE, and HTTP streaming for flexible deployment options.