返回市场
海马营地

海马营地

作者:cromwellian20 星标更新:2025-05-23

项目介绍

Hippycampus

基于LangChain的CLI和MCP服务器,支持动态加载OpenAPI规范并集成Langflow。

预备条件

  • Python 3.12.9
  • UV包管理器
  • Google AI Studio API密钥
  • Langflow(用于创建可视化工作流)

安装

# 如果尚未安装UV,请先安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建并激活虚拟环境
uv venv
source .venv/bin/activate  # 在Windows上使用:.venv\Scripts\activate

# 安装hippycampus及其依赖项
uv pip install -e .

# 安装langflow
uv pip install langflow

配置

Google AI Studio API密钥

  1. 访问Google AI Studio
  2. 点击右上角的“创建API密钥”
  3. 复制生成的密钥,并将其设置为环境变量:
export GOOGLE_API_KEY='your-api-key-here'

运行应用程序

CLI模式(无MCP服务器)

uv run hippycampus-cli

MCP服务器模式(SSE)

uv run hippycampus-server --transport sse --port 8000

Langflow服务器

确保在启动Langflow之前MCP服务器正在运行。

  1. 设置组件路径环境变量:
# 获取当前工作目录
pwd
# 使用输出设置组件路径
export LANGFLOW_COMPONENTS_PATH="/output/from/pwd/langflow/components"
  1. 启动Langflow服务器(添加--dev以进入开发模式):
uv run langflow run
  1. 打开浏览器并导航至http://localhost:7860

在Langflow中使用自定义组件

  1. 在Langflow UI中找到自定义组件:

    • OpenApi服务:用于加载OpenAPI规范
    • Hippycampus MCP服务器:用于通过SSE连接到MCP服务器
  2. 配置组件:

    • OpenApi服务:测试时使用https://raw.githubusercontent.com/APIs-guru/unofficial_openapi_specs/master/xkcd.com/1.0.0/openapi.yaml
    • MCP服务器:使用http://localhost:8000/sse

查看屏幕录像演示以获得视觉指南。 屏幕录像演示

注意官方XKCD Swagger文件中存在一个错误,将comic_id字段指定为数字而非整数,在测试文件夹中有修复版本。

故障排除

  • 认证错误:检查GOOGLE_API_KEY是否正确设置
  • Langflow中缺少组件:验证LANGFLOW_COMPONENTS_PATH指向正确的目录
  • 连接问题:确保在通过Langflow连接前MCP服务器正在运行
  • 如果组件未出现在Langflow中,请尝试重启Langflow服务器
  • 使用CLI调试openapi_builder/spec_parser和代理交互问题,然后再在MCP/Langflow中运行。

许可证

MIT许可证

版权所有 (c) 2024 Ray Cromwell

特此授予任何获得本软件及关联文档文件副本的人(以下简称“软件”),在不受限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许接收软件的人按以下条件行事:

上述版权声明和本许可通知应包含在所有副本或软件的重要部分中。

软件按“原样”提供,不附带任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易引起的任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中。

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.