A new NuGet package called Toolnexus is bringing the Model Context Protocol and agent skills to .NET developers who want to build LLM-powered agents without being locked into a specific framework or provider. The library, posted to Hacker News on June 29th, lets you wire up MCP servers, skill definitions, native C# methods, and HTTP endpoints as tools that any OpenAI- or Anthropic-style endpoint can consume.

Three Lines to a Working Agent

The pitch is simplicity: point Toolnexus at an mcp.json config file and a skills/ folder, configure your LLM client, and call RunAsync(). The library handles the agent loop — calling tools, feeding results back, repeating until you get an answer. According to the project documentation, it includes streaming support, retry logic with backoff, conversation memory, and hooks for customization without forcing you into a full framework pattern with builders or complex configuration files.

Four Tool Sources, One Uniform Interface

Toolnexus unifies four distinct tool sources under a single ITool interface. MCP servers load from an mcp.json file, supporting both local stdio connections and remote streamable-HTTP setups with header-based authentication. Agent skills live in a folder of SKILL.md files that get loaded on demand, with their descriptions catalogued for system prompts. Native C# methods become tools through [ToolMethod] and [Param] attributes using the Tools.FromObject helper. Finally, HttpTool.Of() turns any REST endpoint into a callable tool, with ${ENV} variable expansion in headers so secrets never get logged.

API Design: Bring Your Own Loop

Developers who want more control can bypass the built-in LlmClient wrapper entirely. The tk.ToOpenAI(), tk.ToAnthropic(), and tk.ToGemini() methods generate provider-specific tool schemas from your toolkit, while tk.ExecuteAsync(name, args) runs tools manually. This gives you flexibility to integrate with existing agent architectures without ripping out your orchestration layer.

Cross-Language Consistency

Toolnexus for .NET is the C# port of a library that already exists in JavaScript, Python, Go, and Java — built against the official ModelContextProtocol SDK. The project claims byte-identical behavior across all five language implementations, which matters for polyglot teams or projects that need to share tooling logic between services written in different languages.

Key Takeaways

  • Targets .NET 10 via NuGet (dotnet add package Toolnexus)
  • Built on the official Model Context Protocol SDK
  • Unifies MCP servers, skill folders, native methods, and HTTP endpoints as one toolset
  • MIT licensed with full source on GitHub

The Bottom Line

Toolnexus fills a gap for .NET developers who want to experiment with MCP without committing to Semantic Kernel or Azure-specific tooling. The multi-language support is the real story here — if you've been waiting for a cross-platform agent toolkit that doesn't require rewriting your tools when you switch languages, this is worth bookmarking.