HPD-Agent.MCP
0.9.2
dotnet add package HPD-Agent.MCP --version 0.9.2
NuGet\Install-Package HPD-Agent.MCP -Version 0.9.2
<PackageReference Include="HPD-Agent.MCP" Version="0.9.2" />
<PackageVersion Include="HPD-Agent.MCP" Version="0.9.2" />
<PackageReference Include="HPD-Agent.MCP" />
paket add HPD-Agent.MCP --version 0.9.2
#r "nuget: HPD-Agent.MCP, 0.9.2"
#:package HPD-Agent.MCP@0.9.2
#addin nuget:?package=HPD-Agent.MCP&version=0.9.2
#tool nuget:?package=HPD-Agent.MCP&version=0.9.2
HPD Agent MCP
HPD-Agent.MCP integrates HPD Agent with stable Model Context Protocol C# SDK 2.x. MCP remains outside agent core and participates through the same immutable, leased capability catalog as native and optional-package capabilities.
Registration
await using var agent = await new AgentBuilder(config)
.WithMcp("mcp.json", options =>
{
// Null uses SDK discovery-first negotiation and SDK-managed fallback.
options.Protocol.ExactVersion = null;
options.Protocol.DiscoveryTimeout = TimeSpan.FromSeconds(5);
options.Invocation.InputResolver = inputResolver;
options.ProcessProvider = processProvider;
options.AuthorizationStore = authorizationStore;
})
.BuildAsync();
Manifest JSON can instead be registered with WithMcpContent(json, sourceName, configure). The source name is a stable identity, not a server display name.
Manifest
There is one final manifest schema. A server uses stdio or Streamable http. The manifest may request an exact protocol version, but it never claims negotiated facts. Session IDs, SSE selection, client-owned session flags, bearer tokens, OAuth codes, and runtime callbacks are not manifest fields.
{
"servers": [
{
"name": "filesystem",
"transport": "stdio",
"command": "mcp-filesystem",
"arguments": ["/workspace"],
"enableResources": true
},
{
"name": "search",
"transport": "http",
"endpoint": "https://example.test/mcp",
"oauth": {
"registrationMode": "ClientIdMetadataDocument",
"redirectUri": "http://127.0.0.1:43110/callback",
"clientIdMetadataDocument": "https://client.example.test/oauth/metadata.json"
}
}
]
}
Reserved MCP headers cannot be configured. HTTP operation is stateless from HPD's perspective; the SDK owns protocol headers, discovery, fallback, and any legacy transport details.
MRTR and remote Tasks
Ordinary tools invoke the SDK-provided McpClientTool. HPD registers bounded client handlers through IMcpInputResolver; SDK 2.x owns input_required reconstruction, retries, cancellation, and its round limit. Resolver values are JSON and never become successful output while unresolved.
Remote MCP Tasks support ships in this package and is inert until a source opts in explicitly with options.AddTasksExtension().
Remote MCP Tasks are provider-owned durable work. They are distinct from HPD sessions and from local background execution. HPD assigns its own OperationId; a remote task ID is retained separately as ProviderOperationId. Detaching local observation does not imply remote cancellation.
The four similarly named lifetime concepts are deliberately independent:
- An HPD session is application conversation state and can span many turns and connections.
- A legacy MCP transport session is an SDK-owned protocol connection detail, such as
Mcp-Session-Id; application code must not persist or manufacture it. - HPD background work is locally controlled work represented by the unified operation registry.
- A remote MCP Task is server-controlled work observed through that same registry while preserving its separate provider task ID.
Lifetime and refresh
Each MCP capability revision owns its clients, subscriptions, and authorization adapters. Agent turns pin one immutable catalog epoch. Notifications make a source eligible for transactional refresh; they never mutate a running turn. Retired connections close only after the final snapshot or turn lease releases the revision. Agent and MCP runtime ownership are asynchronous (await using).
Authorization
Client ID Metadata Documents and pre-registration are the normal modes. Dynamic Client Registration requires both DynamicRegistration mode and AllowDynamicRegistration = true. Durable authorization records are application-owned through IMcpAuthorizationStore and are bound to resource identity, authorization-server issuer, client identity, and normalized scopes. Secrets are resolved from secret keys and are never serialized into manifests or projected into events.
Isolated stdio
When processIsolation.enabled is true, an application-provided IProcessProvider is required and HPD fails closed when it is absent. The custom transport changes process launch and byte ownership only; JSON-RPC framing and MCP semantics remain SDK-owned.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- HPD-Agent.Framework (>= 0.9.2)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Logging (>= 10.0.13)
- ModelContextProtocol (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
-
net8.0
- HPD-Agent.Framework (>= 0.9.2)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Logging (>= 10.0.13)
- ModelContextProtocol (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
-
net9.0
- HPD-Agent.Framework (>= 0.9.2)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Logging (>= 10.0.13)
- ModelContextProtocol (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on HPD-Agent.MCP:
| Package | Downloads |
|---|---|
|
HPD-Agent.FFI
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.9.2 | 39 | 11/2/2026 |
| 0.9.1 | 127 | 10/21/2026 |
| 0.9.0 | 115 | 10/20/2026 |
| 0.8.1 | 129 | 8/6/2026 |
| 0.8.0 | 122 | 8/5/2026 |
| 0.7.0 | 118 | 7/19/2026 |
| 0.6.0 | 126 | 7/4/2026 |
| 0.5.5 | 181 | 6/21/2026 |
| 0.5.0 | 172 | 6/11/2026 |
| 0.3.3 | 131 | 2/25/2026 |
| 0.3.2 | 118 | 2/25/2026 |
| 0.3.1 | 111 | 2/24/2026 |
| 0.3.0 | 112 | 2/24/2026 |
| 0.2.0 | 123 | 1/13/2026 |
| 0.1.4 | 461 | 12/9/2025 |
| 0.1.3 | 452 | 12/9/2025 |
| 0.1.2 | 426 | 12/8/2025 |
| 0.1.1 | 310 | 12/8/2025 |
| 0.1.1-alpha | 305 | 12/8/2025 |
| 0.1.0 | 311 | 12/8/2025 |