csharp-sdk/docs/concepts/httpcontext/samples/Tools/ContextTools.cs
Mike Kistler 39b0ed3c18
Add conceptual docs on accessing HttpContext (#771)
* Add doc with sample on accessing HttpContext
* Apply suggestions from PR review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-24 07:41:08 -05:00

28 lines
821 B
C#

using ModelContextProtocol.Server;
using System.ComponentModel;
namespace HttpContext.Tools;
// <snippet_AccessHttpContext>
public class ContextTools(IHttpContextAccessor httpContextAccessor)
{
[McpServerTool(UseStructuredContent = true)]
[Description("Retrieves the HTTP headers from the current request and returns them as a JSON object.")]
public object GetHttpHeaders()
{
var context = httpContextAccessor.HttpContext;
if (context == null)
{
return "No HTTP context available";
}
var headers = new Dictionary<string, string>();
foreach (var header in context.Request.Headers)
{
headers[header.Key] = string.Join(", ", header.Value.ToArray());
}
return headers;
}
// </snippet_AccessHttpContext>
}