Skip to main content
Glama
kasirajan22

DotNet MCP Server Demo

by kasirajan22
McpModels.cs4.28 kB
using System.Text.Json.Serialization; namespace MCPDemo.Models { // MCP Protocol Messages public class McpMessage { [JsonPropertyName("jsonrpc")] public string JsonRpc { get; set; } = "2.0"; [JsonPropertyName("id")] public string? Id { get; set; } [JsonPropertyName("method")] public string? Method { get; set; } [JsonPropertyName("params")] public object? Params { get; set; } [JsonPropertyName("result")] public object? Result { get; set; } [JsonPropertyName("error")] public McpError? Error { get; set; } } public class McpError { [JsonPropertyName("code")] public int Code { get; set; } [JsonPropertyName("message")] public string Message { get; set; } = string.Empty; [JsonPropertyName("data")] public object? Data { get; set; } } public class McpInitializeParams { [JsonPropertyName("protocolVersion")] public string ProtocolVersion { get; set; } = "2024-11-05"; [JsonPropertyName("capabilities")] public McpCapabilities Capabilities { get; set; } = new(); [JsonPropertyName("clientInfo")] public McpClientInfo ClientInfo { get; set; } = new(); } public class McpCapabilities { [JsonPropertyName("resources")] public McpResourceCapabilities? Resources { get; set; } [JsonPropertyName("tools")] public McpToolCapabilities? Tools { get; set; } [JsonPropertyName("prompts")] public McpPromptCapabilities? Prompts { get; set; } } public class McpResourceCapabilities { [JsonPropertyName("subscribe")] public bool Subscribe { get; set; } [JsonPropertyName("listChanged")] public bool ListChanged { get; set; } } public class McpToolCapabilities { [JsonPropertyName("listChanged")] public bool ListChanged { get; set; } } public class McpPromptCapabilities { [JsonPropertyName("listChanged")] public bool ListChanged { get; set; } } public class McpClientInfo { [JsonPropertyName("name")] public string Name { get; set; } = "MCP Demo Client"; [JsonPropertyName("version")] public string Version { get; set; } = "1.0.0"; } public class McpServerInfo { [JsonPropertyName("name")] public string Name { get; set; } = "MCP Demo Server"; [JsonPropertyName("version")] public string Version { get; set; } = "1.0.0"; [JsonPropertyName("protocolVersion")] public string ProtocolVersion { get; set; } = "2024-11-05"; [JsonPropertyName("capabilities")] public McpCapabilities Capabilities { get; set; } = new(); } public class McpTool { [JsonPropertyName("name")] public string Name { get; set; } = string.Empty; [JsonPropertyName("description")] public string Description { get; set; } = string.Empty; [JsonPropertyName("inputSchema")] public object InputSchema { get; set; } = new(); } public class McpResource { [JsonPropertyName("uri")] public string Uri { get; set; } = string.Empty; [JsonPropertyName("name")] public string Name { get; set; } = string.Empty; [JsonPropertyName("description")] public string? Description { get; set; } [JsonPropertyName("mimeType")] public string? MimeType { get; set; } } public class McpToolCall { [JsonPropertyName("name")] public string Name { get; set; } = string.Empty; [JsonPropertyName("arguments")] public Dictionary<string, object> Arguments { get; set; } = new(); } public class McpToolResult { [JsonPropertyName("content")] public List<McpContent> Content { get; set; } = new(); [JsonPropertyName("isError")] public bool IsError { get; set; } } public class McpContent { [JsonPropertyName("type")] public string Type { get; set; } = "text"; [JsonPropertyName("text")] public string Text { get; set; } = string.Empty; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kasirajan22/DotnetMCPServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server