# scisharp/awesome-dotnet-mcp architecture

> Architecture diagram of the GitHub repository scisharp/awesome-dotnet-mcp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-19). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/scisharp/awesome-dotnet-mcp
- Repository: https://github.com/scisharp/awesome-dotnet-mcp

## Overview

1. **Repository type**
   - This is a **documentation-only curated index**, not an application or service.
   - The repo’s primary artifact is a single `README.md`; there are no source packages, binaries, or runtime components in the tree.

2. **Core purpose**
   - It acts as an **ecosystem map for Model Context Protocol (MCP) in .NET**.
   - The repository collects and organizes links to SDKs, servers, tools, and learning materials relevant to building or using MCP-based systems.

3. **Main structural boundary**
   - The repo boundary is essentially **curation vs. execution**:
     - Inside: markdown organization, categorization, and reference links.
     - Outside: all actual implementations live in the linked upstream repositories.
   - This means the repository does not host MCP server/client logic itself.

4. **Top-level content model**
   - The README is divided into four main knowledge areas:
     - **SDKs**
     - **MCP apps**
     - **Servers**
     - **Tools**
     - plus **Learn**
   - For an architecture diagram, these should be shown as documentation categories rather than system components.

5. **SDK subsystem**
   - The SDK section highlights the ecosystem for building MCP clients and servers, with emphasis on **.NET/C#** plus references to Python, TypeScript, Java, and Go.
   - The .NET items are the most relevant to the repo’s theme, especially the official C# SDK and community libraries like MCPSharp and Semantic Kernel integrations.
   - This section represents the **developer framework layer** of the MCP ecosystem.

6. **Server ecosystem**
   - The largest section is the list of **MCP servers**, especially .NET-based ones.
   - These span multiple domains: filesystem, databases, cloud services, IDE/editor integration, IoT, UI platforms, and Azure-hosted remote servers.
   - Architecturally, this section shows MCP as an **adapter layer between LLM clients and domain-specific capabilities**.

7. **Tooling layer**
   - The Tools section groups utilities that help **test, manage, deploy, or transform** MCP servers.
   - Examples include server inspection, protocol gateways, server managers, and API-to-MCP transformers.
   - In a diagram, this is the **operational/tooling boundary** around the MCP ecosystem rather than a runtime service.

8. **Learning/reference layer**
   - The Learn section points to articles and workshop material.
   - This is not part of execution flow, but it supports adoption and implementation knowledge.
   - It functions as **documentation and onboarding support** for developers entering the MCP ecosystem.

9. **Data flow implied by the repo**
   - The README implies a common interaction pattern: **LLM application → MCP client → MCP server/tool → external system**.
   - The repo itself sits outside that flow as a **catalog of where those implementations live**.
   - So any diagram should treat this repo as a metadata/reference node, not as a participant in request handling.

10. **Technology and runtime implications**
    - The content is centered on **.NET/C#**, but intentionally multi-language because MCP is cross-language.
    - GitHub-hosted markdown and external repositories are the only technologies directly present in this repo.
    - There is no build system, package manager, deployment target, or CI-defined application runtime visible in the repository.

11. **Practical diagramming guidance**
    - Show this repository as a **curated index/documentation hub**.
    - Connect it to external MCP categories rather than internal modules.
    - If drawing relationships, depict the README as grouping links into ecosystem slices: SDKs, servers, tools, and learning resources.

12. **Overall architecture summary**
    - This repo is a **static reference gateway into the MCP/.NET ecosystem**.
    - Its “architecture” is informational: classification, navigation, and community discovery.
    - All real operational architecture exists in the external projects it references.

Main entry points: [`README.md`](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md) (README index)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_repo["This repo"]
  node_readme["README index<br/>curated index<br/>[README.md]"]
  node_sdks["SDKs<br/>doc section<br/>[README.md]"]
  node_apps["MCP apps<br/>doc section<br/>[README.md]"]
  node_servers["Servers<br/>doc section<br/>[README.md]"]
  node_tools["Tools<br/>doc section<br/>[README.md]"]
  node_learn["Learn<br/>doc section<br/>[README.md]"]
end

subgraph group_ecosystem["External ecosystem"]
  node_dotnet_sdks[".NET SDKs<br/>ecosystem layer"]
  node_polyglot_sdks["Polyglot SDKs<br/>ecosystem layer"]
  node_dotnet_servers[".NET servers<br/>ecosystem layer"]
  node_domain_servers["Domain servers<br/>ecosystem layer"]
  node_tooling["MCP tools<br/>ecosystem layer"]
  node_learning["Reference material<br/>ecosystem layer"]
  node_llm_client(("LLM app<br/>runtime participant"))
  node_mcp_client(("MCP client<br/>runtime participant"))
  node_mcp_server(("MCP server<br/>runtime participant"))
  node_external_systems[("External systems<br/>backend systems")]
end

node_readme -->|"catalogs"| node_sdks
node_readme -->|"catalogs"| node_apps
node_readme -->|"catalogs"| node_servers
node_readme -->|"catalogs"| node_tools
node_readme -->|"catalogs"| node_learn
node_sdks -->|"focuses on"| node_dotnet_sdks
node_sdks -->|"also references"| node_polyglot_sdks
node_servers -->|"includes"| node_dotnet_servers
node_servers -->|"organizes"| node_domain_servers
node_tools -->|"curates"| node_tooling
node_learn -->|"points to"| node_learning
node_apps -.->|"describes"| node_llm_client
node_llm_client -->|"uses"| node_mcp_client
node_mcp_client -->|"invokes"| node_mcp_server
node_mcp_server -->|"adapts"| node_external_systems
node_tooling -.->|"manages"| node_mcp_server
node_readme -.->|"does not implement"| node_mcp_client
node_readme -.->|"does not host"| node_mcp_server

click node_readme "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"
click node_sdks "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"
click node_apps "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"
click node_servers "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"
click node_tools "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"
click node_learn "https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_readme,node_sdks,node_apps,node_servers,node_tools,node_learn toneBlue
class node_dotnet_sdks,node_polyglot_sdks,node_dotnet_servers,node_domain_servers,node_tooling,node_learning,node_llm_client,node_mcp_client,node_mcp_server,node_external_systems toneAmber
```

## Components

### This repo

Static documentation hub and curated index.

- [README index](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): curated index · Single markdown hub that organizes the MCP/.NET ecosystem links. · `README.md`
- [SDKs](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): doc section · Curated links for building MCP clients and servers. · `README.md`
- [MCP apps](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): doc section · Applications that consume or demonstrate MCP capabilities. · `README.md`
- [Servers](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): doc section · Largest catalog area; MCP server implementations across domains. · `README.md`
- [Tools](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): doc section · Utilities for testing, managing, deploying, and transforming MCP servers. · `README.md`
- [Learn](https://github.com/scisharp/awesome-dotnet-mcp/blob/main/README.md): doc section · Articles, workshops, and reference material for onboarding. · `README.md`

### External ecosystem

Upstream MCP projects and runtime participants referenced by the index.

- **.NET SDKs**: ecosystem layer · Official and community C#/.NET MCP client and server SDKs.
- **Polyglot SDKs**: ecosystem layer · Python, TypeScript, Java, and Go SDK references.
- **.NET servers**: ecosystem layer · MCP servers implemented in C#/.NET for local and remote capabilities.
- **Domain servers**: ecosystem layer · Servers exposing files, databases, cloud services, IDEs, IoT, and UI integrations.
- **MCP tools**: ecosystem layer · Server inspectors, gateways, managers, and API-to-MCP transformers.
- **Reference material**: ecosystem layer · Guides and workshops that support adoption and implementation.
- **LLM app**: runtime participant · External application initiating MCP interactions.
- **MCP client**: runtime participant · Client layer that brokers requests between the app and servers.
- **MCP server**: runtime participant · Server layer providing tools and resources to the client.
- **External systems**: backend systems · Files, databases, cloud services, and other real-world targets reached by servers.

## Connections

- README index → SDKs: catalogs · README groups SDK links into a dedicated section.
- README index → MCP apps: catalogs · README groups app-related references as a separate section.
- README index → Servers: catalogs · README emphasizes server implementations as the main ecosystem slice.
- README index → Tools: catalogs · README groups operational and transformation tools.
- README index → Learn: catalogs · README collects learning resources and references.
- SDKs → .NET SDKs: focuses on · The index highlights .NET/C# SDKs as the core ecosystem.
- SDKs → Polyglot SDKs: also references · The section also includes non-.NET SDKs for cross-language support.
- Servers → .NET servers: includes · A major portion of the server catalog is .NET-based.
- Servers → Domain servers: organizes · Servers are grouped by the capability domains they expose.
- Tools → MCP tools: curates · Operational utilities are collected as the tooling boundary.
- Learn → Reference material: points to · Learning materials are external references, not executable code.
- MCP apps → LLM app: describes · App references imply the client-side entry point in MCP workflows.
- LLM app → MCP client: uses · An LLM application typically talks through an MCP client.
- MCP client → MCP server: invokes · The client brokers requests to MCP servers.
- MCP server → External systems: adapts · Servers bridge protocol calls to underlying systems and services.
- MCP tools → MCP server: manages · Tools help inspect, deploy, transform, or operate servers.
- README index → MCP client: does not implement · The repo catalogs the ecosystem rather than participating in runtime execution.
- README index → MCP server: does not host · No server code lives in this repository; only links to upstream projects.
