Discover Awesome MCP Servers
Extend your agent with 26,375 capabilities via MCP servers.
- All26,375
- 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
Polygon-io MCP Server
Polygon-io MCP Server
Project Tracking MCP Server
Enables project and task management through a lightweight SQLite database, allowing users to create projects, add categorized tasks, track status changes, and get project statistics through natural language commands.
GSC-MCP-Server
Connects Google Search Console to MCP clients to query search analytics, manage sitemaps, and perform URL inspections. It enables users to identify SEO opportunities and generate performance reports through natural language interactions.
mcp-server-demo
✨ Demo Server 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-server-chart
mcp-server-chart
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 **Microsoft Cloud Proxy (MCP)** server to access SharePoint Online. However, it's important to clarify that "MCP server" isn't a standard term or product directly provided by Microsoft for accessing SharePoint Online. It sounds like you're looking for a way to securely and potentially programmatically access SharePoint Online data from an application or service, possibly with some form of proxy or intermediary. Here's a breakdown of how you can achieve this, along with explanations and code examples (where applicable), focusing on the most common and recommended approaches: **Understanding the Goal** Before diving into the technical details, let's clarify what you're trying to accomplish: * **Secure Access:** You want to access SharePoint Online data securely, likely without exposing your credentials directly in your application. * **Programmatic Access:** You need to access SharePoint Online data programmatically, meaning through code (e.g., C#, Python, JavaScript). * **Potential Proxy/Intermediary:** You might want to use a proxy server or intermediary service for added security, control, or to handle authentication. * **Specific Use Case:** What are you trying to *do* with the SharePoint data? Read files? Update lists? Search? The specific actions will influence the best approach. **Recommended Approaches** Here are the most common and recommended ways to access SharePoint Online programmatically: 1. **Microsoft Graph API:** This is the *preferred* and most modern way to access SharePoint Online data. It provides a unified endpoint for accessing various Microsoft 365 services, including SharePoint. 2. **SharePoint REST API:** This is a more direct way to interact with SharePoint Online using RESTful web services. It's still supported, but Microsoft Graph is generally recommended for new development. 3. **SharePoint Client-Side Object Model (CSOM):** This is a .NET library that allows you to interact with SharePoint Online programmatically. It's often used in .NET applications. 4. **Azure Active Directory (Azure AD) App Registration:** This is a *critical* step for all of these approaches. You need to register an application in Azure AD to obtain the necessary credentials (client ID and client secret) to authenticate with SharePoint Online. **Detailed Steps and Examples** Let's walk through the steps using the Microsoft Graph API, as it's the recommended approach: **1. Register an Application in Azure AD** * **Go to the Azure Portal:** Sign in to the Azure portal (portal.azure.com) with an account that has permissions to manage Azure Active Directory. * **Navigate to Azure Active Directory:** Search for "Azure Active Directory" in the search bar and select it. * **App Registrations:** In the Azure Active Directory blade, click on "App registrations." * **New Registration:** Click on "New registration." * **Name:** Give your application a descriptive name (e.g., "SharePointDataAccessor"). * **Supported Account Types:** Choose the appropriate account type. "Accounts in this organizational directory only" is usually sufficient for internal applications. "Accounts in any organizational directory" is for multi-tenant applications. * **Redirect URI (Optional):** If your application is a web application or uses an authentication flow that requires a redirect URI, enter it here. For console applications or background services, you might not need a redirect URI. * **Register:** Click "Register." **Important Information:** * **Application (Client) ID:** After the registration is complete, you'll see the application's overview page. Note down the **Application (client) ID**. You'll need this later. * **Directory (Tenant) ID:** Also note down the **Directory (tenant) ID**. * **Client Secret (Password):** Go to "Certificates & secrets" in the left-hand menu. Click on "New client secret." Give the secret a description and an expiration time. **Copy the value of the secret immediately!** You won't be able to see it again. This is your client secret. Treat it like a password. **2. Grant API Permissions** * **API Permissions:** In your app registration, go to "API permissions" in the left-hand menu. * **Add a Permission:** Click on "Add a permission." * **Microsoft Graph:** Select "Microsoft Graph." * **Delegated Permissions or Application Permissions:** Choose the appropriate type of permission: * **Delegated Permissions:** The application acts on behalf of a signed-in user. The user must consent to the permissions. Use this if you want the application to access SharePoint data as a specific user. * **Application Permissions:** The application acts on its own, without a signed-in user. Use this for background services or applications that need to access SharePoint data without user interaction. **Requires administrator consent.** * **Select Permissions:** Search for the SharePoint permissions you need. Here are some common ones: * `Sites.Read.All`: Read access to all SharePoint sites. * `Sites.ReadWrite.All`: Read and write access to all SharePoint sites. * `Files.Read.All`: Read access to all files the user can access. * `Files.ReadWrite.All`: Read and write access to all files the user can access. * `Sites.Selected`: Allows access to specific sites. This is the most secure option if you only need access to a few sites. You'll need to configure the specific sites in the SharePoint admin center. * **Add Permissions:** Click "Add permissions." * **Grant Admin Consent:** If you selected application permissions, you'll need to grant admin consent. Click on "Grant admin consent for [Your Organization]." You'll need to be a global administrator or have the appropriate permissions to do this. **3. Code Example (C# with Microsoft Graph)** This example shows how to authenticate with Azure AD and retrieve a list of SharePoint sites using the Microsoft Graph API in C#. You'll need to install the `Microsoft.Graph` and `Microsoft.Identity.Client` NuGet packages. ```csharp using Microsoft.Graph; using Microsoft.Identity.Client; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace SharePointGraphExample { class Program { private static string _clientId = "YOUR_APPLICATION_CLIENT_ID"; // Replace with your Application (client) ID private static string _tenantId = "YOUR_TENANT_ID"; // Replace with your Directory (tenant) ID private static string _clientSecret = "YOUR_CLIENT_SECRET"; // Replace with your client secret private static GraphServiceClient _graphClient; static async Task Main(string[] args) { _graphClient = GetGraphServiceClient(); try { var sites = await GetSharePointSites(); Console.WriteLine("SharePoint Sites:"); foreach (var site in sites) { Console.WriteLine($"- {site.DisplayName} ({site.WebUrl})"); } } catch (Exception ex) { Console.WriteLine($"Error: {ex}"); } Console.ReadKey(); } private static GraphServiceClient GetGraphServiceClient() { IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder .Create(_clientId) .WithTenantId(_tenantId) .WithClientSecret(_clientSecret) .Build(); List<string> scopes = new List<string> { "https://graph.microsoft.com/.default" }; // Use .default for application permissions return new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) => { // Acquire token silently var authResult = await confidentialClientApplication.AcquireTokenForClient(scopes).ExecuteAsync(); // Add the access token to the request. requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken); })); } private static async Task<List<Site>> GetSharePointSites() { var sites = new List<Site>(); try { var result = await _graphClient.Sites.Root.Sites.Request().GetAsync(); sites.AddRange(result.CurrentPage); // Handle pagination (if there are more than one page of results) while (result.NextPageRequest != null) { result = await result.NextPageRequest.GetAsync(); sites.AddRange(result.CurrentPage); } } catch (Exception ex) { Console.WriteLine($"Error getting sites: {ex}"); } return sites; } } } ``` **Explanation:** * **NuGet Packages:** Install `Microsoft.Graph` and `Microsoft.Identity.Client`. * **Configuration:** Replace `YOUR_APPLICATION_CLIENT_ID`, `YOUR_TENANT_ID`, and `YOUR_CLIENT_SECRET` with the values you obtained from the Azure AD app registration. * **`GetGraphServiceClient()`:** This method creates a `GraphServiceClient` instance, which is the main entry point for interacting with the Microsoft Graph API. It uses the `ConfidentialClientApplicationBuilder` to authenticate with Azure AD using the client ID, tenant ID, and client secret. The `.default` scope is used for application permissions, which means the application is requesting access to all the permissions it has been granted. * **`GetSharePointSites()`:** This method retrieves a list of SharePoint sites using the `_graphClient.Sites.Root.Sites.Request().GetAsync()` method. It also handles pagination to retrieve all sites, even if there are more than one page of results. * **Error Handling:** The code includes basic error handling to catch exceptions and display error messages. **4. Using a Proxy (If Needed)** If you need to use a proxy server for network access or security reasons, you can configure the `HttpClient` used by the `GraphServiceClient`. Here's how you can modify the `GetGraphServiceClient()` method to use a proxy: ```csharp private static GraphServiceClient GetGraphServiceClient() { IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder .Create(_clientId) .WithTenantId(_tenantId) .WithClientSecret(_clientSecret) .Build(); List<string> scopes = new List<string> { "https://graph.microsoft.com/.default" }; // Configure the proxy var proxy = new System.Net.WebProxy { Address = new Uri("http://your.proxy.server:8888"), // Replace with your proxy server address and port // Optionally, add credentials if your proxy requires authentication // Credentials = new System.Net.NetworkCredential("username", "password") }; var httpClientHandler = new System.Net.Http.HttpClientHandler { Proxy = proxy, UseProxy = true }; var httpClient = new System.Net.Http.HttpClient(httpClientHandler); return new GraphServiceClient(httpClient, new DelegateAuthenticationProvider(async (requestMessage) => { // Acquire token silently var authResult = await confidentialClientApplication.AcquireTokenForClient(scopes).ExecuteAsync(); // Add the access token to the request. requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken); })); } ``` **Important Considerations for Proxies:** * **Proxy Address and Port:** Replace `"http://your.proxy.server:8888"` with the actual address and port of your proxy server. * **Proxy Authentication:** If your proxy server requires authentication, uncomment the `Credentials` line and provide the appropriate username and password. * **Security:** Be careful when storing proxy credentials in your code. Consider using environment variables or a secure configuration store. **5. Alternative Approaches (SharePoint REST API, CSOM)** * **SharePoint REST API:** You can use the SharePoint REST API directly by making HTTP requests to SharePoint Online endpoints. You'll need to obtain an access token using Azure AD and include it in the `Authorization` header of your requests. Refer to the Microsoft documentation for the specific endpoints and request formats. * **SharePoint CSOM:** The SharePoint CSOM is a .NET library that provides a more object-oriented way to interact with SharePoint Online. You'll need to install the `Microsoft.SharePointOnline.CSOM` NuGet package. The authentication process is similar to the Microsoft Graph API, using Azure AD to obtain an access token. **Important Security Considerations:** * **Least Privilege:** Grant your application only the *minimum* permissions it needs to access SharePoint Online data. Avoid granting broad permissions like `Sites.ReadWrite.All` if you only need to access a few specific sites. `Sites.Selected` is the most secure option when possible. * **Secure Storage of Credentials:** Never hardcode your client secret directly in your code. Use environment variables, Azure Key Vault, or a secure configuration store to protect your credentials. * **Regularly Rotate Secrets:** Rotate your client secrets regularly to minimize the risk of compromise. * **Monitor API Usage:** Monitor your application's API usage to detect any suspicious activity. * **Implement Proper Error Handling:** Implement robust error handling to prevent sensitive information from being exposed in error messages. * **Use Managed Identities (If Applicable):** If your application is running in Azure (e.g., Azure Functions, Azure App Service), consider using Managed Identities for Azure Resources. This eliminates the need to manage credentials manually. **Summary** Creating a secure and reliable way to access SharePoint Online data programmatically involves several steps: 1. **Azure AD App Registration:** Register your application in Azure AD and obtain the client ID, tenant ID, and client secret. 2. **API Permissions:** Grant your application the necessary SharePoint API permissions. 3. **Authentication:** Use the Microsoft Graph API or SharePoint REST API to authenticate with Azure AD and obtain an access token. 4. **Data Access:** Use the access token to make requests to SharePoint Online endpoints to retrieve or modify data. 5. **Security:** Follow security best practices to protect your credentials and minimize the risk of unauthorized access. 6. **Proxy (Optional):** Configure a proxy server if needed for network access or security reasons. Remember to choose the approach that best suits your specific needs and security requirements. The Microsoft Graph API is generally the recommended approach for new development. Always prioritize security and follow best practices to protect your SharePoint Online data. Let me know if you have any more specific questions or if you'd like me to elaborate on any of these steps. For example, if you tell me what you want to *do* with the SharePoint data, I can give you a more tailored example.
SuperCollider MCP Server
Enables execution of SuperCollider synth code through the Model Context Protocol using supercolliderjs, allowing AI assistants to generate and run audio synthesis programs.
Filesystem MCP Server with .mcpignore
Enables secure filesystem access with privacy controls using .mcpignore files to block MCP clients from reading or writing sensitive files and directories while allowing directory browsing and search.
Up Bank MCP Server
An MCP wrapper for Up Bank's API that allows Claude and other MCP-enabled clients to manage accounts, transactions, categories, tags, and webhooks from Up Bank.
Ultimate All-in-One MCP Server
A comprehensive collection of 103 tools providing capabilities for text processing, data analysis, web development, and business management in a single server. It is designed for rapid deployment to Vercel and integrates seamlessly with MCP clients like Claude and Cursor to automate diverse workflows.
Gmail MCP Server
Enables AI assistants to manage Gmail by reading unread emails with automatic classification, creating AI-generated draft replies, and saving drafts directly to Gmail through the Gmail API.
lint-mcp
Enables intelligent Go code quality checking with smart change detection through golangci-lint integration. Automatically detects branch development scope and focuses on current changes to avoid historical code issues.
Magento 2 Development MCP Server
Enables AI agents to interact with Magento 2 development environments through comprehensive tools for module management, database operations, cache control, configuration management, and system diagnostics. Supports complete development workflows from module creation to deployment and troubleshooting.
MCP Server Basic
A basic MCP server example that provides simple arithmetic tools (addition and subtraction) and personalized greeting resources. Serves as a foundation for learning MCP server implementation and development.
mcp-nativewind
Transforms Tailwind components to NativeWind v4.
Chess MCP Server
Enables Large Language Models to play chess agentically with real-time HTML board visualization and a hybrid AI engine featuring ten difficulty levels. It supports interactive games between users and agents, including a web dashboard to monitor active matches.
MindBridge MCP Server
Sebuah router AI yang menghubungkan aplikasi ke berbagai penyedia LLM (OpenAI, Anthropic, Google, DeepSeek, Ollama, dll.) dengan kemampuan orkestrasi model cerdas, memungkinkan peralihan dinamis antar model untuk tugas penalaran yang berbeda.
MCP-RLM
An implementation of the Recursive Language Models architecture that enables AI agents to process massive documents by programmatically decomposing them into sub-queries. It allows for cost-effective and accurate reasoning across millions of tokens by treating long-form data as an external environment for root and worker models.
Shopify MCP Server
Memungkinkan interaksi dengan toko Shopify melalui GraphQL API, menyediakan alat untuk mengelola produk, pelanggan, pesanan, dan lainnya.
IPA MCP Server
Enables management of FreeIPA resources including user groups, host groups, HBAC, and sudo rules via the FreeIPA JSON-RPC API. It provides comprehensive tools for automating access control and infrastructure provisioning in FreeIPA-managed environments.
Todoist MCP Server
A self-hosted MCP server that wraps the official Todoist AI package to provide over 35 tools for managing tasks and projects. It features a Dockerized setup with automatic TLS, enabling seamless integration with AI clients like Claude and Cursor.
agentos-mcp-server
Governance kernel for AI agents — policy enforcement, code safety verification, multi-model hallucination detection (CMVK), trust attestation (IATP), and immutable audit trails. Works with Claude Desktop, Cursor, and any MCP client.
Unrestricted Development MCP Server
Provides unrestricted access to your development environment with filesystem operations and shell command execution capabilities, including sudo support for local development machines.
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
Here are a few possible Indonesian translations, depending on the context and desired nuance: **Option 1 (Most literal and likely best):** * **Server MCP Tushare Rust** This keeps the order and terms as close to the original as possible. "Server" is generally understood in Indonesian. "MCP" (assuming it's an acronym) is best left as is unless you know what it stands for and can translate it accurately. "Tushare" and "Rust" are proper nouns and should not be translated. **Option 2 (Slightly more descriptive):** * **Server MCP Tushare yang ditulis dalam Rust** This translates to: "Tushare MCP Server written in Rust." It adds the information that the server is written in the Rust programming language. **Option 3 (If you want to emphasize the technology):** * **Server MCP Tushare dengan teknologi Rust** This translates to: "Tushare MCP Server with Rust technology." **Important Considerations:** * **Context is key:** Without knowing what "MCP" stands for or the specific purpose of the server, it's difficult to provide the *perfect* translation. * **Target audience:** If the audience is technical, keeping the terms "MCP" and "Rust" in English is perfectly acceptable and even preferred. If the audience is less technical, you might need to explain what "Rust" is. * **Consistency:** If you're translating a larger document, be consistent with your translation choices. Therefore, I recommend using **Server MCP Tushare Rust** unless you have more context.
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.
shivonai-mcp
Alat MCP kami dirancang untuk meningkatkan layanan wawancara otomatis berbasis AI dengan memastikan proses penilaian kandidat yang lancar dan relevan secara kontekstual. Alat-alat ini memanfaatkan model AI canggih untuk menganalisis respons, mengevaluasi kompetensi, dan memberikan umpan balik waktu nyata.
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.