Token导航 LogoToken导航TokenDH.com
l2p MCP logo
AI代理stdio官方级别未说明来源级核验

l2p MCP

MCP Server

一个独立的MCP服务器,用于处理人类参与的规划工作流,支持域和任务的更新、合并以及PDDL生成。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

adam-neto

提供方

adam-neto

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m unittest -v tests.test_offline tests.test_mcp_offline

详细介绍

l2p mcp

封装外部确定性部分的独立MCP服务器 l2p 用于人在环规划工作流的软件包。

此仓库假设MCP客户端已经具有模型访问权限。模型只需要决定更改是属于域还是任务,然后使用工具docstring格式化更新。之后,服务器接管:它解析更新,将其合并到当前的计划状态中,在需要时推断需求,并生成更新的PDDL工件。

文件

server/

  • server.py

定义MCP工具,配置HTTP传输默认值,并启动服务器

  • server_helpers.py

包含MCP工具使用的解析、合并和规范化逻辑

  • Dockerfile

构建Docker镜像,以便将MCP服务器作为本地服务运行

  • docker-compose.yml

定义在上公开MCP服务器的本地Docker Compose服务 localhost:8002

  • .dockerignore

通过排除缓存和本地开发文件来保持Docker构建上下文较小

tests/

  • test_offline.py

用于解析、合并、生成和错误处理的直接单元测试

  • test_mcp_offline.py

端到端MCP测试,对服务器进行临时测试 stdio 使用活动Python解释器的客户端

刀具表面

服务器公开了两个高级MCP工具:

  • update_domain
  • update_task

什么 update_domain 是否

update_domain 根据模型编写的文本创建或更新域状态。它支持:

  • ### TYPES
  • ### CONSTANTS
  • ### New Predicates
  • ### FUNCTIONS
  • 使用以下方式进行零、一或多个操作更新:

- ### Action Parameters - ### Action Preconditions - ### Action Effects - 可选的 ## NEXT ACTION 分隔符

该工具可以:

  • 在没有之前的情况下从空域开始 domain 被提供
  • 在以下情况下合并到现有域 domain 被提供
  • 推断 :requirements
  • 在以下情况下生成最终域PDDL domain_name 被提供

对于多动作更新,动作名称可以来自:

  • 每个操作块前放置的文本
  • action_name 以列表形式传递

什么 update_task 是否

update_task 根据模型编写的文本创建或更新任务/问题状态。它支持:

  • ### OBJECTS
  • ### INITIAL
  • ### GOAL

每个部分可以包含零个、一个或多个条目。该工具可以:

  • 在没有先前任务的情况下从空任务开始 task 被提供
  • 在以下情况下合并到现有任务中 task 被提供
  • 替换以下字段 goalreplace_fields
  • 在以下情况下生成最终问题PDDL domain_nameproblem_name 提供

任务生成要求合并的任务包含:

  • objects
  • initial
  • goal

预期工作流程

  1. 用户要求更改计划
  2. 客户端模型选择 update_domainupdate_task
  3. 模型使用所选工具docstring中记录的格式写入更新
  4. MCP服务器解析更新,将其合并到当前的结构化状态中,并在有足够的信息时返回更新的PDDL

这使服务器保持无状态,同时仍支持增量编辑。客户端只能更新目标、一个动作、几个动作、几个谓词或任何其他部分片段,而无需重新启动整个公式化过程。

测试

使用以下命令从根目录运行直接和MCP集成测试:

python3 -m unittest -v tests.test_offline tests.test_mcp_offline

当前的测试套件包括:

  • 域创建和更新
  • 任务创建和更新
  • 多动作解析与合并
  • 空动作部分
  • 类型层次结构解析
  • 基于文件的更新输入
  • MCP工具调用
  • 域和任务错误路径

码头工人

此仓库支持通过流式HTTP将MCP服务器作为长期本地Docker服务运行。Docker文件位于 server/ 目录。

容器配置为:

  • 使用 streamable-http
  • 倾听 0.0.0.0:8002 集装箱内
  • 暴露MCP端点 /mcp
  • 自动重新启动 unless-stopped

使用以下命令从repo根目录运行Docker化服务器:

docker compose -f server/docker-compose.yml up -d --build

这将在后台启动容器。运行后,MCP端点可在以下位置使用:

http://localhost:8002/mcp

有用的命令:

  • docker compose -f server/docker-compose.yml logs -f
  • docker compose -f server/docker-compose.yml ps
  • docker compose -f server/docker-compose.yml restart
  • docker compose -f server/docker-compose.yml down

为了使容器在重新启动后返回,请确保Docker Desktop配置为在登录时自动启动。

需求

  • 口译员在哪里 l2p 已安装
  • mcp
  • python3 在当前环境下

python3 server/server.py

默认情况下,这将启动服务器 streamable-http 日期:

http://127.0.0.1:8002/mcp

要覆盖主机端口或路径,请执行以下操作:

MCP_TRANSPORT=streamable-http MCP_HOST=127.0.0.1 MCP_PORT=8002 python3 server/server.py

强迫老年人 stdio 对于想要直接生成进程的客户端的传输:

MCP_TRANSPORT=stdio python3 server/server.py

MCP客户端配置示例

{
  "mcpServers": {
    "l2p": {
      "command": "python3",
      "args": ["/absolute/path/to/server/server.py"],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

如果您的MCP客户端支持HTTP传输,请将其指向 http://localhost:8002/mcp 当Docker容器正在运行时,或者 http://127.0.0.1:8002/mcp 当您直接运行服务器时。

目录标签

目录标签

PythonAI代理工作流自动化规划工作流混合部署PDDL生成域更新任务更新MCP服务器

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP