Skip to main content

No project description provided

Project description

Hippycampus

A LangChain-based CLI and MCP server that supports dynamic loading of OpenAPI specifications and integration with Langflow.

Prerequisites

  • Python 3.12.9
  • UV package manager
  • Google AI Studio API key
  • Langflow (for visual workflow creation)

Installation

# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create and activate virtual environment
uv venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate

# Install hippycampus and its dependencies
uv pip install -e .

# Install langflow
uv pip install langflow

Configuration

Google AI Studio API Key

  1. Visit Google AI Studio
  2. Click "Create API Key" in the top right
  3. Copy the generated key and set it as an environment variable:
export GOOGLE_API_KEY='your-api-key-here'

Running the Applications

CLI Mode (no MCP server)

uv run hippycampus-cli

MCP Server Mode (SSE)

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

Langflow Server

Ensure the MCP server is running before starting Langflow.

  1. Set the components path environment variable:
# Get your current working directory
pwd
# Use the output to set the components path
export LANGFLOW_COMPONENTS_PATH="/output/from/pwd/langflow/components"
  1. Start the Langflow server (add --dev for development mode):
uv run langflow run
  1. Open your browser and navigate to http://localhost:7860

Using Custom Components in Langflow

  1. In the Langflow UI, locate the custom components:

    • OpenApi Service: For loading OpenAPI specifications
    • Hippycampus MCP Server: For connecting to the MCP server over SSE
  2. Configure the components:

    • OpenApi Service: Use https://raw.githubusercontent.com/APIs-guru/unofficial_openapi_specs/master/xkcd.com/1.0.0/openapi.yaml for testing
    • MCP Server: Use http://localhost:8000/sse

See the Screencast Demo for a visual guide. Screencast Demo

Note that the official XKCD swagger files contain an error and specify the comic_id field as a number instead of an integer, there is a fixed version in the test folder.

Troubleshooting

  • Authentication errors: Check if GOOGLE_API_KEY is set correctly
  • Missing components in Langflow: Verify LANGFLOW_COMPONENTS_PATH points to the correct directory
  • Connection issues: Ensure the MCP server is running before connecting via Langflow
  • If components don't appear in Langflow, try restarting the Langflow server
  • Use the cli to debug openapi_builder/spec_parser and agent interaction issues before running in MCP/Langflow.

License

MIT License

Copyright (c) 2024 Ray Cromwell

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_cromwellian_hippycampus-0.1.1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_cromwellian_hippycampus-0.1.1.tar.gz.

File metadata

  • Download URL: iflow_mcp_cromwellian_hippycampus-0.1.1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cromwellian_hippycampus-0.1.1.tar.gz
Algorithm Hash digest
SHA256 093d30410d3bf073a7fae8473dbcdc63be40e51b3825b542a47cad6a25f76826
MD5 3d90c39d934e6536b3f1e16d52003059
BLAKE2b-256 3849d1732ae713a692fe44e032879a4a97bd4b56804f4354385c04c4a38c83a9

See more details on using hashes here.

File details

Details for the file iflow_mcp_cromwellian_hippycampus-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_cromwellian_hippycampus-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cromwellian_hippycampus-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6eaccf39cf5a319a9d0bbc19134fe67a5a814baaf28fbdbc6e88da6588a83cc1
MD5 7eafd9b073dcc7647be7a0a28a81d452
BLAKE2b-256 cb006e5fd8130b04cd3f18205b9c57c6f37473df5ee7323deaa64dc5f79d07d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page