Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"version": 1,
"isRoot": true,
"tools": {
"docfx": {
"version": "2.78.3",
"commands": [
"docfx"
],
"rollForward": false
}
}
}
43 changes: 43 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
on:
release:
types: [published]
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
actions: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
publish-docs:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: .NET Setup
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x

- name: Generate documentation
run: make generate-docs

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'artifacts/_site'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,7 @@ _NCrunch_*
nCrunchTemp_*

*.orig

# Auto-generated documentation
docs/_site
docs/api
38 changes: 38 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
SOURCE_DIRECTORY := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
ARTIFACT_PATH := $(SOURCE_DIRECTORY)artifacts
DOCS_PATH := $(SOURCE_DIRECTORY)docs
CONFIGURATION ?= Release

clean:
dotnet clean
rm -rf $(ARTIFACT_PATH)/*
rm -rf $(DOCS_PATH)/api

restore:
dotnet tool restore
dotnet restore

build: restore
dotnet build --no-restore --configuration $(CONFIGURATION)

test: build
dotnet test \
--no-build \
--configuration $(CONFIGURATION) \
--filter '(Execution!=Manual)' \
--blame \
--diag "$(ARTIFACT_PATH)/diag.txt" \
--logger "trx" \
--collect "Code Coverage;Format=cobertura" \
--results-directory $(ARTIFACT_PATH)/test-results \
-- \
RunConfiguration.CollectSourceInformation=true

generate-docs: clean restore
dotnet build --no-restore --configuration Release
dotnet docfx $(DOCS_PATH)/docfx.json

serve-docs: generate-docs
dotnet docfx serve $(ARTIFACT_PATH)/_site --port 8080

.DEFAULT_GOAL := build
48 changes: 48 additions & 0 deletions docs/docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
"metadata": [
{
"src": [
{
"src": "../src",
"files": [
"**/*.csproj"
]
}
],
"output": "api"
}
],
"build": {
"content": [
{
"files": [
"**/*.{md,yml}"
],
"exclude": [
"_site/**"
]
}
],
"resource": [
{
"files": [
"images/**"
]
}
],
"output": "../artifacts/_site",
"template": [
"default",
"modern"
],
"globalMetadata": {
"_appName": "MCP C# SDK",
"_appTitle": "MCP C# SDK",
"_appLogoPath": "images/mcp.svg",
"_appFaviconPath": "images/favicon.ico",
"_enableSearch": true,
"pdf": false
}
}
}
Binary file added docs/images/favicon.ico
Binary file not shown.
74 changes: 74 additions & 0 deletions docs/images/mcp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
_layout: landing
---

# Overview

The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.

## About MCP

The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.

For more information about MCP:

- [Official Documentation](https://modelcontextprotocol.io/)
- [Protocol Specification](https://spec.modelcontextprotocol.io/)
- [GitHub Organization](https://github.com/modelcontextprotocol)

For how-to guides, tutorials, and additional guidance, refer to the [official MCP documentation](https://modelcontextprotocol.io/).

## License

This project is licensed under the [MIT License](https://github.com/modelcontextprotocol/csharp-sdk/blob/main/LICENSE).
5 changes: 5 additions & 0 deletions docs/toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
items:
- name: API Docs
href: api/ModelContextProtocol.yml
- name: Github
href: https://github.com/ModelContextProtocol/csharp-sdk
Loading