情境化
A modular, enterprise-grade .NET framework for Model Context Protocol (MCP) servers
______________________________________________________________________
核心架构
Contextify提供了一个高级编排层,抽象了模型上下文协议的复杂性。
graph TB
subgraph Client ["AI Client (Claude/GPT)"]
CL[AI Assistant]
end
subgraph Contextify ["Contextify Stack"]
direction TB
T[Transport Layer
HTTP / STDIO] --> DP[JSON-RPC Dispatcher]
DP --> S[Security Layer
Deny-by-Default Policy]
S --> C[Core Orchestrator]
C --> CAT[Tool/Resource Catalog]
end
subgraph Providers ["Feature Providers"]
OA[OpenAPI / Swagger] --> C
NA[Native .NET Tools] --> C
SY[System Actions] --> C
end
subgraph SDK ["Official SDK Bridge"]
AD[OfficialAdapter] -.-> |Maps to| MSD[Anthropic SDK Data Models]
end
CL T
C AD______________________________________________________________________
套餐深潜
Contextify是一个模块化的生态系统。你只需要安装你需要的东西。
1.基础和协议桥
Contextify.Abstractions:包含基本合同。如果你想构建一个自定义工具提供程序或一个新的传输,你只需要这个。Contextify.Core:框架的核心。它管理 工具目录,处理执行生命周期,并强制执行 安全策略.- ****:这是连接Contextify逻辑和 官方人类学
ModelContextProtocol软件开发工具包它将Contextify的内部工具/资源模型转换为协议所期望的确切JSON-RPC结构。
2.集成与托管
Contextify.AspNetCore:提供AddContextify()和MapContextifyMcp()扩展。它与标准相结合。网ILogger,IOptions以及依赖注入。Contextify.Transport.Http:实施 服务器发送事件(SSE) 适用于通过HTTP进行通信的AI客户端(如大多数企业web应用程序)。Contextify.Transport.Stdio:实现标准的输入/输出传输,允许您。NET应用程序充当Claude Desktop应用程序等工具的本地MCP服务器。
3.能力扩展
Contextify.OpenApi:一个强大的引擎,可以解析您现有的Swagger/OpenAPI规范并动态生成MCP工具。这允许您在几秒钟内将现有的微服务暴露给AI。Contextify.Actions.Defaults:高性能,原生。NET实现的常见任务(例如,文件I/O、系统信息、数学)。
4.配置和安全
Contextify.Config.AppSettings:通过以下方式配置工具白名单的标准方法appsettings.json.Contextify.Config.Consul:启用 动态语境。通过Consul实时更改整个车队的工具权限,而无需重新启动服务。
5.多后端网关
Contextify.Gateway.Core:用于将多个上游MCP服务器聚合到单个集线器的核心逻辑。Contextify.Gateway.Discovery.Consul:通过Consul在微服务环境中自动发现MCP服务器。
______________________________________________________________________
工作原理:协议桥
Contextify不会从头开始重新实现协议。相反,它利用了 官方Anthropic SDK.
当AI客户端(如Claude)发送 tools/list 请求:
- 传输层 (HTTP或Stdio)接收原始JSON并将其传递给 调度员.
- 调度员 查询 核心编排器 对于可用的工具。
- 核心编排器 从所有注册的提供者(OpenAPI、系统操作等)中提取数据,并通过 安全层.
- 官方适配器 获取列入白名单的Contextify工具定义,并将其转换为
ModelContextProtocol.Types.Tool物体。 - 这 Anthropic SDK 然后处理最终的JSON-RPC序列化,并向客户端返回符合要求的响应。
这种“两全其美”的方法确保了100%的协议合规性,同时提供了丰富的。NET惯用开发人员经验。
______________________________________________________________________
入门指南
1.构建基于Web的MCP服务器(HTTP)
通过HTTP端点向Claude公开您的API。
安装:
dotnet add package Contextify.AspNetCore
dotnet add package Contextify.Transport.Http实施:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddContextify()
.AddHttpTransport(options => options.Endpoint = "/mcp")
.AddAppSettingsPolicyProvider();
var app = builder.Build();
app.MapContextifyMcp();
app.Run();2.构建CLI MCP服务器(STDIO)
非常适合本地开发或基于CLI的自定义上下文提供程序。
安装:
dotnet add package Contextify.Transport.Stdio______________________________________________________________________
安全:默认拒绝
在Contextify中,安全不是事后的想法。默认情况下, 没有工具暴露在外。您必须在配置中明确地将工具列入白名单:
{
"Contextify": {
"Security": {
"DefaultPolicy": "Deny",
"Whitelist": [
{ "ToolName": "weather:*", "Enabled": true },
{ "ToolName": "internal:user:read", "Enabled": true }
]
}
}
}______________________________________________________________________
网关模式
在管理数十台MCP服务器时 Contextify网关 允许您将它们聚合到一个同名目录中。
- 统一目录:将上游工具合并到一个列表中。
- 命名空间:
upstream1:tool_name防止碰撞。 - 健康检查:自动删除不健康的上游。
- 领事发现:无需重新启动即可将新的MCP服务器添加到您的基础架构中。
______________________________________________________________________
文档
______________________________________________________________________
许可证
根据 MIT许可证.
