You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project is in early development. While functional, it may undergo significant changes as the protocol and implementation evolve.
18
-
19
-
### Current Limitations
20
-
- Only stdio transport is currently supported (HTTP/SSE transport coming soon)
21
-
- Client library only - server implementation support may be added in the future
22
-
- Provider-agnostic implementation focused purely on the MCP protocol
23
-
- Applications using this library need to implement their own integration with LLM APIs/clients
24
-
25
-
The library's current focus is on implementing the core MCP protocol, with the main utility being the ability to launch and connect to MCP servers based on configuration objects.
17
+
This library aims to provide a clean, specification-compliant implementation of the MCP protocol, with minimal additional abstraction. While transport implementations necessarily include additional code, they follow patterns established by the official SDKs where possible.
26
18
27
19
## Features
28
20
29
21
- MCP client implementation for .NET applications
30
-
- Support for stdio transport
31
-
- Support for all capabilities: Tool, Resource, Prompt, Sampling, Roots
22
+
- Support for stdio and SSE transports
23
+
- Support for all MCP capabilities: Tool, Resource, Prompt, Sampling, Roots
32
24
- Support for pagination and notifications
33
25
- Async/await pattern throughout
34
26
- Comprehensive logging support
35
27
- Compatible with .NET 8.0 and later
36
28
37
29
## Getting Started
38
30
39
-
To create a client you need to instantiate a factory with configuration objects:
31
+
To use mcpdotnet, first install it via NuGet:
32
+
33
+
```powershell
34
+
dotnet add package mcpdotnet
35
+
```
36
+
37
+
Then create a client and start using tools, or other capabilities, from the servers you configure:
@@ -58,14 +56,12 @@ var factory = new McpClientFactory(
58
56
options,
59
57
NullLoggerFactory.Instance
60
58
);
61
-
```
62
-
63
-
You can then retrieve an IMcpClient reference using the `id` of a server from the configuration, and use `ListToolsAsync` and `CallToolAsync` to integrate with your LLM-based code.
0 commit comments