Discover Awesome MCP Servers
Extend your agent with 24,070 capabilities via MCP servers.
- All24,070
- 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
Glama MCP Server Search
An MCP server for searching and exploring MCP servers from the Glama MCP directory. This server provides tools to search for MCP servers, get detailed information about specific servers, and explore available server attributes using the Glama MCP API.
Document Intelligence MCP Server
Enables Claude to read and analyze PDF documents with automatic OCR processing for scanned files. Features intelligent text extraction, caching for performance, and secure file access with search capabilities.
MCP Server for EAI Services
Implements a Multi-Channel Platform Server that integrates with existing Enterprise Application Integration services, providing tools and endpoints to securely fetch network reports and access management features.
azure-devops-mcp
Okay, I understand you're looking for Azure DevOps code examples, specifically using C#, for both a server (presumably interacting with the Azure DevOps API) and a client (likely consuming data from the server or directly from Azure DevOps). Providing a complete, ready-to-run application without knowing the specific functionality you need is impossible. However, I can give you a solid foundation with code snippets and explanations to get you started. I'll break it down into server-side and client-side examples, focusing on common tasks. **Important Considerations Before You Start:** * **Azure DevOps Organization and Project:** You'll need an Azure DevOps organization and a project within that organization to test these examples. * **Personal Access Token (PAT):** You'll need a PAT with the appropriate scopes to access the Azure DevOps API. **Treat your PAT like a password! Do not hardcode it directly into your code.** Use environment variables, configuration files, or Azure Key Vault to store it securely. The scopes you need will depend on the specific API calls you're making (e.g., `vso.work`, `vso.code`, `vso.release`). * **NuGet Packages:** You'll need to install the necessary NuGet packages. The primary one is `Microsoft.TeamFoundationServer.Client`. You might also need `Microsoft.VisualStudio.Services.Client` and potentially others depending on your specific needs. **1. Server-Side (C# - ASP.NET Core Web API Example)** This example demonstrates how to retrieve work items from Azure DevOps using the REST API. ```csharp using Microsoft.AspNetCore.Mvc; using Microsoft.TeamFoundation.WorkItemTracking.WebApi; using Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models; using Microsoft.VisualStudio.Services.Common; using Microsoft.VisualStudio.Services.WebApi; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace AzureDevOpsApi.Controllers { [ApiController] [Route("[controller]")] public class WorkItemsController : ControllerBase { private readonly string _organizationUrl; private readonly string _personalAccessToken; private readonly string _project; public WorkItemsController(IConfiguration configuration) // Use IConfiguration to read settings { _organizationUrl = configuration["AzureDevOps:OrganizationUrl"]; _personalAccessToken = configuration["AzureDevOps:PersonalAccessToken"]; _project = configuration["AzureDevOps:Project"]; } [HttpGet] public async Task<IActionResult> GetWorkItems() { try { // Create connection to Azure DevOps var connection = new VssConnection(new Uri(_organizationUrl), new VssBasicCredential(string.Empty, _personalAccessToken)); // Get the WorkItemTrackingHttpClient using (var workItemClient = connection.GetClient<WorkItemTrackingHttpClient>()) { // Construct WIQL (Work Item Query Language) query var wiql = new Wiql() { Query = $"Select [Id], [Title], [State] From WorkItems Where [Team Project] = '{_project}' AND [Work Item Type] = 'Task' AND [State] <> 'Closed' ORDER BY [Id]" }; // Execute the query to get work item IDs var result = await workItemClient.QueryByWiqlAsync(wiql); if (result == null || result.WorkItems == null || result.WorkItems.Count == 0) { return NotFound("No work items found."); } // Get the full work items based on the IDs List<int> workItemIds = result.WorkItems.Select(wi => wi.Id).ToList(); var workItems = await workItemClient.GetWorkItemsAsync(workItemIds); return Ok(workItems); } } catch (Exception ex) { // Log the exception properly! Console.WriteLine(ex.ToString()); return StatusCode(500, "An error occurred while retrieving work items."); } } } } ``` **Explanation:** 1. **Dependencies:** Requires `Microsoft.AspNetCore.Mvc`, `Microsoft.TeamFoundationServer.Client`, `Microsoft.VisualStudio.Services.Client`. 2. **Configuration:** The code reads the Azure DevOps organization URL, PAT, and project name from the application's configuration (e.g., `appsettings.json`). **This is crucial for security!** 3. **`VssConnection`:** Creates a connection to your Azure DevOps organization using the URL and PAT. `VssBasicCredential` is used for PAT authentication. 4. **`WorkItemTrackingHttpClient`:** Gets an instance of the Work Item Tracking HTTP client, which allows you to interact with work items. 5. **WIQL Query:** Constructs a WIQL query to select work items. WIQL is similar to SQL but specifically designed for querying work items in Azure DevOps. **Important:** Adjust the query to match your specific needs. This example retrieves all open tasks. 6. **`QueryByWiqlAsync`:** Executes the WIQL query and returns a list of work item references (IDs). 7. **`GetWorkItemsAsync`:** Retrieves the full work item details based on the IDs obtained from the query. 8. **Error Handling:** Includes basic error handling. **In a production environment, you should implement robust logging and error handling.** 9. **Return Value:** Returns an `IActionResult`. `Ok()` returns a 200 OK with the work items, and `NotFound()` returns a 404 if no work items are found. `StatusCode(500)` returns a 500 Internal Server Error in case of an exception. **appsettings.json (Example):** ```json { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "AzureDevOps": { "OrganizationUrl": "https://dev.azure.com/your-organization", "PersonalAccessToken": "your-personal-access-token", "Project": "YourProjectName" } } ``` **Important:** Replace `"https://dev.azure.com/your-organization"`, `"your-personal-access-token"`, and `"YourProjectName"` with your actual values. Consider using environment variables instead of storing the PAT directly in `appsettings.json`. **2. Client-Side (C# - Console Application Example)** This example demonstrates how to consume the API endpoint created in the server-side example. ```csharp using System; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; using System.Threading.Tasks; namespace AzureDevOpsClient { class Program { private static readonly HttpClient client = new HttpClient(); static async Task Main(string[] args) { // Replace with the actual URL of your API endpoint string apiUrl = "https://localhost:7000/WorkItems"; // Or your deployed API URL try { // Call the API string json = await GetAsync(apiUrl); // Deserialize the JSON response if (!string.IsNullOrEmpty(json)) { // Assuming the API returns a JSON array of WorkItem objects // You'll need to define a WorkItem class that matches the structure of the JSON // For example: // public class WorkItem { public int Id { get; set; } public string Title { get; set; } public string State { get; set; } } // List<WorkItem> workItems = JsonSerializer.Deserialize<List<WorkItem>>(json); // For demonstration purposes, let's just print the raw JSON Console.WriteLine(json); } else { Console.WriteLine("No data received from the API."); } } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); } Console.ReadKey(); } static async Task<string> GetAsync(string uri) { HttpResponseMessage response = await client.GetAsync(uri); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } } } ``` **Explanation:** 1. **`HttpClient`:** Creates an `HttpClient` to make HTTP requests to the API. 2. **`apiUrl`:** Replace `"https://localhost:7000/WorkItems"` with the actual URL of your deployed API endpoint. 3. **`GetAsync`:** Sends an HTTP GET request to the API endpoint. 4. **`Deserialize`:** Deserializes the JSON response from the API into a C# object. **You'll need to define a C# class (`WorkItem` in the example) that matches the structure of the JSON returned by the API.** The example shows a basic `WorkItem` class; you'll need to adjust it based on the actual fields returned by your API. 5. **Error Handling:** Includes basic error handling. 6. **Output:** Prints the deserialized work item data to the console. **Important Notes:** * **JSON Serialization/Deserialization:** The `System.Text.Json` namespace is used for JSON serialization and deserialization. You can also use `Newtonsoft.Json` if you prefer (install the `Newtonsoft.Json` NuGet package). * **`WorkItem` Class:** You'll need to define a `WorkItem` class (or a class that represents the data structure returned by your API) to properly deserialize the JSON response. The properties of the class should match the names and data types of the fields in the JSON. * **API URL:** Make sure to replace `"https://localhost:7000/WorkItems"` with the correct URL of your API endpoint. If you're running the API locally, it might be a different port number. If you've deployed the API to Azure or another hosting environment, use the deployed URL. * **Authentication (Client-Side):** If your API requires authentication (e.g., an API key or bearer token), you'll need to add the appropriate headers to the `HttpClient` request. For example, to add a bearer token: ```csharp client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your-api-token"); ``` **Further Development:** * **Error Handling:** Implement comprehensive error handling in both the server-side and client-side code. Log errors to a file or database for debugging. * **Dependency Injection:** Use dependency injection to manage dependencies (e.g., the `WorkItemTrackingHttpClient`) in a more testable and maintainable way. * **Asynchronous Operations:** Use `async` and `await` for all I/O-bound operations (e.g., API calls) to prevent blocking the UI thread. * **Data Validation:** Validate the data received from the API to ensure it's in the expected format. * **Unit Testing:** Write unit tests to verify the functionality of your code. * **Security:** Implement proper security measures to protect your application and data. This includes using HTTPS, validating user input, and protecting against common web vulnerabilities. * **Authentication/Authorization:** Implement proper authentication and authorization mechanisms to control access to your API. * **Configuration Management:** Use a robust configuration management system to manage your application's settings. * **Logging:** Implement comprehensive logging to track application behavior and diagnose problems. * **Deployment:** Use a proper deployment pipeline to deploy your application to a production environment. **Key Improvements and Best Practices:** * **Configuration:** Use `IConfiguration` to read settings from `appsettings.json` or environment variables. This is much better than hardcoding values. * **Error Handling:** Include `try-catch` blocks and log exceptions. Don't just swallow exceptions. * **Asynchronous Operations:** Use `async` and `await` for all network operations. * **Resource Management:** Use `using` statements to ensure that resources (like `HttpClient` and `WorkItemTrackingHttpClient`) are properly disposed of. * **Security:** Never hardcode your PAT. Store it securely in environment variables or Azure Key Vault. * **WIQL:** Learn WIQL to create more complex and efficient queries. * **Data Transfer Objects (DTOs):** Consider using DTOs to represent the data that is transferred between the server and the client. This can help to decouple the client from the server and make it easier to change the server-side implementation without breaking the client. This comprehensive example provides a strong starting point for building your Azure DevOps integration with C#. Remember to adapt the code to your specific requirements and follow best practices for security, error handling, and maintainability. Good luck!
DigitalOcean MCP Server
Provides access to all 471+ DigitalOcean API endpoints through an MCP server that dynamically extracts them from the OpenAPI specification, enabling search, filtering, and direct API calls with proper authentication.
GitHub MCP Server on Amazon Bedrock AgentCore
Provides a private, managed instance of the official GitHub MCP server hosted on Amazon Bedrock AgentCore with Okta authentication. It allows developers to securely interact with GitHub through MCP-compatible IDEs over a private AWS infrastructure.
SiteBay MCP Server
Enables management of WordPress sites hosted on SiteBay platform through natural language, including site creation, executing WP-CLI commands, file editing, and server operations.
MCP Fetch
Claude Desktop (または任意の MCP クライアント) がウェブコンテンツを取得し、画像を適切に処理できるようにする Model Context Protocol サーバー。
Vercel MCP Server
A Model Control Protocol server template deployed on Vercel that demonstrates MCP implementation with a dice rolling tool, serving as a foundation for building custom MCP servers.
Pokémcp
MCP (Model Context Protocol) を試したり、PokeDex API にクエリを実行したりするためのリポジトリ - NaveenBandarage/poke-mcp
Expense Tracker MCP Server
Enables natural language expense management with SQLite storage, allowing users to add expenses, view totals, and list all expenses through conversational commands.
Tability MCP Server
Enables AI assistants to manage OKRs, track goals, and update progress on the Tability platform using natural language. It provides 27 tools for interacting with plans, objectives, outcomes, initiatives, and workspace memberships via the Tability API.
Open Data MCP
Enables exploration and interaction with South Korea's Public Data Portal (OpenAPI) through keyword search, standard documentation retrieval, and direct API endpoint calls with automatic service key injection.
kubevirt-mcp-server
KubeVirt用のシンプルなモデルコンテキストプロトコルサーバー
Prometheus MCP Server
Enables AI assistants to execute PromQL queries and discover metrics within AWS Managed Prometheus (AMP) using SigV4 authentication. It provides tools for instant and range queries, label management, and metric discovery in secure, VPC-isolated environments.
MCP Google Analytics Server
Enables comprehensive integration with Google Analytics 4, allowing users to read analytics reports and send custom events through both the Data API and Measurement Protocol v2.
OpenRouter MCP Server
Provides seamless access to 200+ AI models through OpenRouter's unified API, featuring multi-model collaboration, vision support, intelligent benchmarking, and collective intelligence capabilities for enhanced decision-making.
MCP RAG Server
AIエージェントが、Sui Move言語のドキュメントを含むFAISSベクトルデータベースにクエリを実行することで、検索拡張生成(Retrieval-Augmented Generation)を可能にする、Machine Conversation Protocolサーバー。
ServiceNow MCP Server
A server that integrates Claude AI with ServiceNow, enabling incident creation, service request management, email handling, and catalog browsing through natural language.
Directus MCP Server
Enables comprehensive interaction with Directus CMS including collection management, file operations, flow automation, user management, and schema analysis through natural language commands.
MCP Server
Provides SMTP integration for sending HTML emails and specialized prompts for intent detection and client information extraction. It enables LLMs to automate personalized email workflows and structure user communication data.
crypto-stocks-mcp
An MCP server that tracks real-time data for major crypto-related stocks to help AI agents analyze blockchain investment opportunities.
Browser MCP Bridge
Bridges browser content, developer tools data, and web page interactions with Claude through MCP. Enables page inspection, DOM analysis, JavaScript execution, console monitoring, network activity tracking, and screenshot capture across multiple browser tabs.
Tailscale MCP Server
Enables interaction with the Tailscale API to manage devices, ACLs, keys, and DNS configurations directly from MCP clients like Claude Desktop or Raycast.
DALL-E MCP Server
An MCP (Model Context Protocol) server that allows generating, editing, and creating variations of images using OpenAI's DALL-E APIs.
Nerdearla Agenda MCP Server
Provides real-time access to the Nerdearla conference agenda, enabling users to query upcoming talks, past sessions, topic recommendations, and event schedules through natural language interactions.
Medusa Mcp
Medusa JS SDK 用の MCP サーバー
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.
mcp-server-chart
mcp-server-chart