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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HPD-Agent.MCP" Version="0.9.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HPD-Agent.MCP" Version="0.9.2" />
                    
Directory.Packages.props
<PackageReference Include="HPD-Agent.MCP" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HPD-Agent.MCP --version 0.9.2
                    
#r "nuget: HPD-Agent.MCP, 0.9.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HPD-Agent.MCP@0.9.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HPD-Agent.MCP&version=0.9.2
                    
Install as a Cake Addin
#tool nuget:?package=HPD-Agent.MCP&version=0.9.2
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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