MCP服务器演示-文档分析和工资条分析器
用C#构建的HTTP MCP(模型上下文协议)服务器。NET 8,专为Azure应用服务部署而设计。包括文档智能、工资单分析和多种实用工具。
特性
- SSE(服务器发送事件)传输:支持通过HTTP进行流式响应
- 文档智能:使用Azure文档智能提取和分析文档内容
- 工资单分析仪:使用GPT-5-nano进行AI驱动的工资单验证和分析
- 多种内置工具:随机数生成器、Chuck Norris笑话、Azure存储搜索、工资单分析器、文档提取
- Azure应用服务就绪:配置为易于部署到Azure
- 健康检查端点:Azure内置运行状况监控
- 灵活的身份验证:支持Azure凭据和API密钥
关键工具
1.文件提取
使用Azure文档智能从文档中提取文本和结构。
- 处理PDF、图像和扫描文档
- 返回结构化内容和元数据
2.工资条分析仪
使用GPT-5-nano对工资单文档进行人工智能分析。
- 验证文件真实性
- 提取薪资信息
- 验证工资单结构
- 检测可疑文件
3.实用工具
- 随机数:生成指定范围内的随机数
- 查克·诺里斯的笑话:随机下载Chuck Norris的笑话
- Azure存储搜索:从Azure存储中搜索和检索文档
端点
POST /sse-MCP服务器端点(服务器发送事件)GET /health-健康检查端点GET /-服务器信息
✅ Azure资源(你需要自己的)
此项目部署到 你的Azure资源。您必须创建:
| 资源 | 示例名称 |
|---|---|
| 资源组 | my-rg |
| 网页应用 | my-mcpserver |
| 区域 | eastus, westeurope等等。 |
然后使用您的名字进行部署:
.\scripts\deploy.ps1 -Mode azure -Configuration Release `
-ResourceGroup my-rg -WebAppName my-mcpserver两个基本命令
1.地方发展
.\scripts\deploy.ps1 -Mode local在本地运行MCP服务器 http://localhost:5000 用于开发和测试。
2.Azure部署
.\scripts\deploy.ps1 -Mode azure -Configuration Release `
-ResourceGroup YOUR-RG -WebAppName YOUR-WEB-APP部署到您的Azure Web应用程序 https://YOUR-WEB-APP.azurewebsites.net
______________________________________________________________________
本地运行
PowerShell:
.\scripts\deploy.ps1 -Mode local服务器将于启动 http://localhost:5000.
有关详细的本地开发说明,请参阅 部署.md
Windows PowerShell
# Deploy to your Azure resources
.\scripts\deploy.ps1 -Mode azure -Configuration Release `
-ResourceGroup my-rg -WebAppName my-mcpserver部署脚本将:
- 在发布模式下构建项目(针对性能进行了优化)
- 发布应用程序
- 部署到您的Web应用程序:
my-mcpserver - 请在以下网址提供应用程序:
https://my-mcpserver.azurewebsites.net
有关详细的部署说明和高级选项,请参阅 部署.md
______________________________________________________________________
设置和配置
文档智能设置
要使用文档提取功能,请执行以下操作:
- 看 文件_电话_设置.md 有关配置详细信息
- 需要Azure Document Intelligence资源和API密钥
工资单分析器设置
要使用基于AI的工资单分析:
- 看 工资单分析仪_SETUP.md 有关配置详细信息
- 需要Azure AI Foundry GPT-5-nano模型访问权限
______________________________________________________________________
测试工具
初始化连接
{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"protocolVersion":"2024-11-05","clientInfo":{"name":"test-client","version":"1.0.0"}}}列出可用工具
{"jsonrpc":"2.0","id":"2","method":"tools/list","params":{}}调用工具
随机数工具示例:
{"jsonrpc":"2.0","id":"4","method":"tools/call","params":{"name":"RandomNumber","arguments":{"min":1,"max":100}}}工资单分析器示例:
{"jsonrpc":"2.0","id":"5","method":"tools/call","params":{"name":"PayslipAnalyzer","arguments":{"documentContent":"...","employeeId":"EMP123"}}}项目结构
├── src/ # Source code
│ ├── MCPServerDemo.csproj # .NET 8 project file
│ ├── Program.cs # Application entry point
│ ├── Tools/ # MCP tools
│ │ ├── RandomNumberTool.cs
│ │ ├── ChuckNorrisJokeTool.cs
│ │ ├── AzureStorageSearchTool.cs
│ │ ├── PayslipAnalyzerTool.cs
│ │ └── DocumentExtractionService.cs
│ ├── Models/ # Data models
│ │ └── McpModels.cs
│ ├── Prompts/ # AI prompt templates
│ │ ├── PayslipPrompts.cs
│ │ └── PromptBuilder.cs
│ ├── Services/ # Business logic services
│ │ └── DocumentExtractionService.cs
│ ├── appsettings.json # Production configuration
│ ├── appsettings.Development.json # Local development configuration
│ └── appsettings.Production.json # Azure production configuration
├── scripts/ # Deployment scripts
│ ├── deploy.ps1 # PowerShell script (Windows)
│ └── deploy.sh # Bash script (Linux/macOS)
├── .azure/ # Azure configuration
│ └── plan.md # Detailed deployment plan
├── README.md # This file
├── DEPLOYMENT.md # 📖 Complete deployment guide
├── DOCUMENT_INTELLIGENCE_SETUP.md # Document Intelligence configuration
└── PAYSLIP_ANALYZER_SETUP.md # Payslip analyzer configuration文档
| 文件 | 目的 |
|---|---|
| QUICKSTART.md | ⚡ 2分钟后开始 -快速命令和示例 |
| 部署.md | 📖 完整的部署指南 -详细说明和故障排除 |
| 脚本_参考.md | 🔧 脚本文档 -参数、示例和CI/CD集成 |
| 文件_电话_设置.md | Azure文档智能凭据和设置 |
| 工资单分析仪_SETUP.md | AI Foundry工资单分析器配置 |
| .alue/平面.md | 详细的Azure部署计划和架构 |
需求
脚本
部署脚本
- Windows PowerShell:
.\scripts\deploy.ps1-主部署脚本
该脚本支持:
- 本地执行
-Mode local - Azure部署
-Mode azure -Configuration Release - 自定义资源组和Web应用程序名称
- 调试和发布配置
用法:参见 部署.md 详细示例和参数
许可证
麻省理工学院
