使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 标准实现的服务器,旨在为大型语言模型 (LLM) 提供访问维尔纽斯公共交通数据的能力。通过此服务器,LLM 可以查询公交站点信息,例如按名称查找站点或查找距离指定坐标最近的站点。这使得 LLM 能够回答关于维尔纽斯公共交通的复杂问题,例如“最近的公交站在哪里?”或“有哪些公交站叫做中央火车站?”。

主要功能点

  • 站点名称查找 (find_stops):允许用户通过站点名称(或部分名称)搜索维尔纽斯公交站点。
  • 最近站点查找 (find_closest_stop):允许用户根据提供的经纬度坐标,查找距离该坐标最近的公交站点。

安装步骤

  1. 克隆仓库
    git clone https://github.com/sarunasdaujotis/vilnius-transport-mcp-server.git
    cd vilnius-transport-mcp-server
  2. 安装依赖 虽然仓库中没有明确的依赖安装步骤,但根据代码内容,你可能需要安装以下Python库。建议使用 'uv' 或 'pip' 进行安装:
    uv pip install mcp gtfs_kit pandas numpy python-dotenv
    # 或者使用 pip
    # pip install mcp gtfs_kit pandas numpy python-dotenv
    确保你已经安装了 uvpip 包管理器。

服务器配置

要将此MCP服务器添加到支持MCP协议的客户端(例如 Claude),你需要配置客户端的 MCP 服务器设置。以下是一个 'claude_desktop_config.json' 示例配置,你需要根据你的实际情况进行调整:

{
  "mcpServers": {
    "vilnius_transport": {
      "command": "uv",
      "args": [
        "--directory",
        "path/vilnius-transport-mcp-server/src/vilnius_transport_mcp",
        "run",
        "transport.py"
      ]
    }
  }
}

配置参数说明:

  • '"vilnius_transport"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • '"command": "uv"': 启动服务器的命令。 这里假设你使用 'uv' 运行 Python 脚本。如果使用 'pip' 安装的依赖,并且直接使用 'python' 运行脚本,则可以修改为 '"command": "python"'。
  • '"args"': 传递给启动命令的参数列表。
    • '"path/vilnius-transport-mcp-server/src/vilnius_transport_mcp"': [请务必修改] 指向 'transport.py' 文件所在目录的路径。你需要将其替换为你本地仓库中 'src/vilnius_transport_mcp' 目录的绝对路径
    • '"run"': 'uv run' 命令的子命令,用于运行指定目录下的 Python 脚本。 如果 '"command"' 修改为 '"python"',则需要将 '"run"' 替换为 'transport.py' 的文件名,例如 '"transport.py"'。
    • '"transport.py"': 指定要运行的服务器脚本文件。

例如,如果你的 'vilnius-transport-mcp-server' 仓库克隆在用户主目录下的 'projects' 文件夹中,并且你使用 'uv' 运行,则 '"args"' 可能需要配置为:

"args": [
  "--directory",
  "/Users/你的用户名/projects/vilnius-transport-mcp-server/src/vilnius_transport_mcp",
  "run",
  "transport.py"
]

请根据你的实际文件路径和运行命令进行调整。

基本使用方法

  1. 启动 MCP 服务器 打开终端,导航到 'vilnius-transport-mcp-server' 仓库目录,然后根据你在 'claude_desktop_config.json' 中配置的命令运行服务器。 如果你配置的是 'uv' 并且 '"args"' 配置正确,可以直接运行客户端脚本启动服务器:

    uv run src/vilnius_transport_mcp/client.py src/vilnius_transport_mcp/transport.py
    # 如果你配置的是 "command": "python",并且假设当前目录是仓库根目录
    # python src/vilnius_transport_mcp/client.py src/vilnius_transport_mcp/transport.py

    服务器成功启动后,你将在终端看到类似 'Starting vilnius transport mcp server' 的日志信息。

  2. 使用 MCP 客户端 (client.py) 'client.py' 是一个简单的 Python 客户端示例,用于连接到 MCP 服务器并与之交互。当你运行 'client.py' 并成功连接到服务器后,它会进入一个交互式 chat_loop。 你可以输入自然语言查询,客户端会将查询发送给 Claude 模型,并利用 MCP 服务器提供的工具来增强 Claude 的能力。

    例如,在客户端中输入查询:

    Query: Find stops named "Stotis"

    客户端将会调用 'find_stops' 工具,并将结果返回给你。

    或者输入查询:

    Query: Find the closest stop to 54.687, 25.279

    客户端将会调用 'find_closest_stop' 工具,并返回最近的站点信息。

    输入 'quit' 可以退出客户端。

注意:

  • 确保你已经正确配置了 'claude_desktop_config.json' 文件,以便你的 MCP 客户端(例如 Claude)能够找到并连接到此 MCP 服务器。
  • 首次运行可能需要下载 GTFS 数据,请确保网络连接。

信息

分类

网页与API