Dont Lie To Me - Azure MCP Server

使用说明(Markdown 格式):

  • 项目简介
    • 该项目实现了一个基于 MCP(Model Context Protocol)的服务器端后端,核心职责是向 LLM 客户端提供上下文信息、资源、工具和提示模板,并通过 MCP 风格的工具触发器实现对外功能的注册与执行。后端采用 Azure Functions 进行模块化实现,具备会话管理、工具注册、提示模板渲染等能力,数据存储使用 Cosmos DB,提示/模型配置通过统一的 prompts 加载系统管理。
  • 主要功能点
    • MCP 工具触发:提供 store_analysis、query_history、check_known_scam 三个 MCP 工具,用于与 AI 客户端交互,执行分析存储、历史查询和相似模式检测等功能。
    • 资源与提示管理:通过 Cosmos DB 存储分析历史,使用 prompts.yaml/内嵌回退提示实现系统提示的动态加载与优雅降级。
    • 模型交互封装:通过 Azure AI Foundry (GPT-4o/ Phi-3 等部署) 封装的 AI 客户端,与 MCP 客户端进行安全、可控的交互。
    • HTTP/API 接口:提供 health/classify/analyze/guidance 等 HTTP 端点,以及 i18n、导出报告、历史查询等 UI/前端支持接口。
    • 安全与合规:包含日志与监控钩子、GDPR 导出/擦除、Teams 通知等扩展能力,用于工业级应用的合规性需求。
  • 安装步骤
    • 确保已安装 Python 3.11+、Node/Azure Functions 运行环境、Azure 相关资源(Cosmos DB、Key Vault、Redis/缓存,如有)。
    • 将后端代码部署到 Azure Functions 环境中(参考 docs/setup.md 的部署流程,通常包含 Bicep/ARM 模板、环境变量配置、Key VaultSecret 注入等)。
    • 在本地开发环境中,可以进入 src/backend,安装依赖并本地运行函数应用,调试 MCP 工具的触发行为。
  • 服务器配置(MCP 客户端需与服务器连接的配置信息,JSON 形式) 请将以下 JSON 配置用于 MCP 客户端与本 MCP 服务器连接。字段说明见注释: { "serverName": "dont-lie-to-me-azure-mcp", "command": "func start", "args": ["--port", "7071", "--cors", "*"], "description": "Dont Lie To Me Azure MCP Server – 提供资源、工具与提示模板的 MCP 服务端实现", "protocol": "JSON-RPC over HTTP/HTTPS", "endpoints": [ { "name": "health", "path": "/health", "method": "GET" }, { "name": "classify", "path": "/classify", "method": "POST" }, { "name": "analyze", "path": "/analyze", "method": "POST" }, { "name": "guidance", "path": "/guidance", "method": "POST" }, { "name": "check-url" , "path": "/check-url", "method": "POST" } ], "tools": [ { "name": "store_analysis", "description": "Store a scam analysis result in Cosmos DB" }, { "name": "query_history", "description": "Query past analyses for a given session" }, { "name": "check_known_scam", "description": "Search for similar known scam patterns" } ], "resources": { "cosmosDb": { "endpoint": "<COSMOS_DB_ENDPOINT>", "database": "<COSMOS_DB_DATABASE>", "container": "<COSMOS_DB_CONTAINER>" }, "promptsConfig": "prompts.yaml (or embedded fallbacks)" }, "notes": "客户端在实际连接时无需理解 MCP 服务器内部实现细节,只需使用服务器启动命令与参数即可建立连接。" } 注:以上配置为示意,实际部署时请按环境变量、云资源配置以及 prompts.yaml 的实际路径进行替换。客户端并不要求暴露内部实现细节。
  • 基本使用方法
    • 启动服务器:在部署环境中执行服务器的启动命令(如 func start),确保环境变量(AZURE_AI_ENDPOINT、COSMOS DB 等)配置正确。
    • MCP 集成:将上述服务器配置提供给 MCP 客户端,确保 tool 调用(store_analysis、query_history、check_known_scam)能够通过 JSON-RPC 形式触发并接收服务器返回的 JSON 结果。
    • 数据持久化与分析:分析结果会通过 Cosmos DB 持久化,历史查询与导出可通过 /history、/export 等接口访问。
    • 安全与扩展:支持 Key Vault 秘密读取、监控与日志等扩展,便于在生产环境中实现合规性与可观测性。

服务器信息