法律事务所MCP服务器

一个基于.NET 9和C# MCP SDK构建的法律事务所实践管理系统模型上下文协议(MCP)服务器,用于探索MCP功能,包括工具、资源、提示和采样。

  • by dlarionov-origindigital
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 dlarionov-origindigital/lawcorp-mcp-demo

使用说明

Law Corp MCP服务器

使用构建的律师事务所执业管理系统的模型上下文协议(MCP)服务器。NET 9和官方C#MCP SDK。这是一个探索MCP功能的研究和参考实现,包括工具、资源、提示和采样。

这是什么

Law Corp MCP服务器将虚构律师事务所的数据和工作流程暴露给LLM客户端(例如Claude Desktop)。它表明:

  • 工具 --LLM可以调用的结构化操作(搜索案例、起草文档、记录时间、运行冲突检查)
  • 基于角色的工具访问 — tools/list 按呼叫者角色过滤;拒绝 tools/call 在任何处理程序运行之前,请求都会收到结构化错误
  • 资源 --以可读URI形式公开的公司数据(lawcorp://cases/..., lawcorp://documents/...)
  • 提示 --用于常见法律任务的可重用提示模板
  • 采样 --服务器发起的LLM调用,用于人工智能辅助的丰富(文档分类、截止日期提取)

快速开始

先决条件: .NET 9 SDK、SQL Server Express(本地)

# Build the solution
dotnet build src/LawCorp.Mcp.sln

# Run the MCP server (stdio transport)
dotnet run --no-launch-profile --project src/LawCorp.Mcp.Server

通过stdio发送文本 --发送原始JSON-RPC以验证echo工具是否正常工作:

printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}\n{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}\n{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"Echo","arguments":{"message":"hello"}}}\n' \
  | timeout 15 dotnet run --no-launch-profile --project src/LawCorp.Mcp.Server 2>/dev/null

连接到克劳德桌面 --添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "law-corp": {
      "command": "dotnet",
      "args": ["run", "--no-launch-profile", "--project", "C:\\Dev\\research\\mcp\\src\\LawCorp.Mcp.Server"]
    }
  }
}

看 src/README.md 了解完整的项目结构和设置说明。 看 src/LawCorp.Mcp.Web/README.md 用于DateTimeweb应用程序(MCP客户端演示和E2E测试工具)。 看 docs/local-dev.md 获取完整的本地开发指南(MCP检查器、克劳德桌面、VS代码/光标、克劳德代码)。 看 docs/auth-config.md 用于Microsoft Entra ID身份验证设置(Azure应用程序注册、应用程序设置、OBO令牌交换)。 看 docs/local-mcp-inspect-auth.md 用于在本地测试MCP检查员和真实Entra ID角色的身份验证。 看 docs/tool-permissions.md 对于角色到工具权限矩阵,MCP过滤器管道如何执行它,以及如何扩展它。

回购布局

文件夹 用途
src/ .NET解决方案——MCP服务器、web应用程序、域模型、数据层、模拟数据、测试
docs/ 研究笔记、参考资料和 本地开发指南
proj-mgmt/ 主题、功能、故事、任务和架构决策

技术栈

  • .NET 9 --双传输:通用主机(stdio)+ASP。NET核心Web应用程序(HTTP)
  • TODO将所有文档更新到https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-10.0.103-windows-x64-installer因为。NET 10已经发布。NET 9不支持
  • 访问Web应用程序 --交互式服务器渲染模式、流畅的用户界面、Entra ID OIDC(自述文件)
  • 模型上下文协议1.0.0-rc.1 --官方C#MCP SDK+ASP。NET核心集成
  • 实体框架核心9 --ORM与SQL Server Express
  • Microsoft Entra ID --JWT承载认证+OBO流(HTTP传输),OIDC(web应用程序)
  • 流畅的用户界面 --带有主题和白色标签的企业组件库
  • x单位 --测试框架