Oil and Gas Engineering MCP Server

使用说明内容(Markdown格式)

  • 项目简介

    • 该仓库实现了一个 Oil and Gas Engineering MCP 服务端,能够通过 MCP 协议暴露技能库中的工具(如文件类型检测、全流程数据提取、LAS/DLIS/WITSML/LAS 等解析、以及跨域报告合成等能力),并提供可扩展的多域协作模式,方便 LLM 客户端在一个统一的后端获取结构化的工程数据与统一报告。
    • 服务器实现支持两种模式:使用 FastMCP 的原生快速实现,以及基于 MCP SDK 的回退实现,确保在不同环境下都能运行 MCP 服务。
  • 主要功能点

    • 工具暴露与调用
      • detect_file_type: 根据文件路径检测并返回文件类型信息。
      • extract_engineering_data: 全流程提取流水线,结合文件分析、解析与对齐项目上下文,返回一组提取结果。
      • parse_las_file: 解析 LAS/LOGY 文件,输出曲线信息、井信息与 PAY 区等。
      • parse_drilling_report: 解析 PDF 钻探报告,提取钻井 KPI、NPT、BHA、套管等。
      • classify_discipline: 根据文本样本推断学科领域与文档类型。
      • run_sanity_checks: 对已提取数据执行工程端的 sanity 检查,返回警告Flags。
      • get_skill_definition: 获取任意技能的 SKILL.md 定义以加载领域知识。
    • 扩展能力
      • run_file_analysis_swarm、run_well_performance_swarm、run_qa_swarm、run_pad_analysis_swarm 等工具,结合 Swarm Pattern 实现对多文件、多域场景的并行分析与汇总报告。
    • 资源与模式
      • 提供 extraction_schema、file-types 等参考资源接口,便于客户端理解输出结构和可用的文件类型。
    • 服务器实现与部署
      • 使用 FastMCP 提供轻量级、易部署的 MCP 服务端;如未安装 FastMCP,则回退到 MCP SDK(mcp)以实现兼容性。
      • 支持通过 stdio、WebSocket、SSE 等传输方式的接入,适配不同环境的客户端。
  • 安装步骤

    1. 克隆仓库到本地或服务器:git clone <仓库URL>,进入项目根目录。
    2. 安装依赖:
      • 如果选择 FastMCP 模式,请安装 fastmcp;
      • 如果选择 MCP SDK 回退模式,请安装 mcp;
      • 同时确保使用的技能与解析工具所需的 Python 包已安装(如 pdfplumber、lasio、dlisio、docx 等等,参考 skills 与 parsers 的实现)。
    3. 启动服务端:
      • 直接运行:python -m mcp_server.server
      • 或在兼容的生产环境中通过 ASGI/FastAPI 方式启动(如 uvicorn mcp_server.server:app --port 8342,需按环境配置)。
  • 服务器配置(MCP 客户端需要的配置信息示例,以下为 JSON 描述,非代码片段) { "server_name": "oil-gas-skills", "command": "python", "args": ["-m", "mcp_server.server"], "cwd": "/path/to/oil-and-gas-claude-skills", "transport": "stdio" // 融合的传输模式可选:stdio、websocket、sse 等,这里以 stdio 为示例 } 说明:

    • server_name 对应仓库中 MCP 服务器对外暴露的名称,常用为 oil-gas-skills。
    • command 与 args 指定如何启动服务器进程,cwd 为服务器代码所在目录的路径。
    • 传输模式可按客户端需求调整,默认以 MCP 服务器自带实现的 stdio/HTTP 形式提供服务。
    • 客户端配置不需要包含服务器端实现的具体代码,只需要知道服务器名称、启动命令以及必要的连接信息。
  • 基本使用方法

    • 客户端需要在 MCP 配置中指向服务器名称与启动方式(如上 JSON 配置示例)。
    • 通过 MCP 客户端的调用接口请求工具、解析结果、或获取技能定义等,服务器会返回标准的 JSON-RPC 风格响应或封装在 MCP 的结果结构中。
    • 可以利用提供的多域子模式(数据管理、钻井、日志、完井、生产、方向性、HSE)在同一后端进行并行分析,并获取合并后的统一报告。
    • 如需扩展能力,可基于仓库中的 Swarm、LangGraph、CrewAI、AutoGen、CLAUDE/Anthropic 等适配器进一步增强。

服务器信息