graphiti/DOCS
Lars Varming 8dd7a87623 Improve MCP tool descriptions for better LLM tool selection
Updated all 12 MCP tool docstrings with:
- LLM-visible priority markers in docstrings (was hidden in meta)
- Decision trees to disambiguate overlapping tools
- Standard Python docstring format with Examples sections
- Enhanced safety protocols for destructive operations
- Increased priority for search_memory_facts (0.85) and get_entities_by_type (0.75)

Changes are docstring-only with no breaking changes to functionality.
Validated with ruff format, ruff check, and py_compile.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 15:05:54 +01:00
..
GitHub-DockerHub-Setup.md Use official Dockerfile.standalone for custom MCP server build 2025-11-08 21:07:28 +01:00
Librechat.setup.md Use official Dockerfile.standalone for custom MCP server build 2025-11-08 21:07:28 +01:00
MCP-Tool-Descriptions-REVISED.md Improve MCP tool descriptions for better LLM tool selection 2025-11-09 15:05:54 +01:00
OpenAI-Compatible-Endpoints.md Use official Dockerfile.standalone for custom MCP server build 2025-11-08 21:07:28 +01:00
README.md Use official Dockerfile.standalone for custom MCP server build 2025-11-08 21:07:28 +01:00

Graphiti Custom Build Documentation

This directory contains documentation for building and deploying a custom Graphiti MCP server with your local changes.

Quick Navigation

🐳 Docker Build Setup

GitHub-DockerHub-Setup.md

  • Complete guide for automated Docker builds via GitHub Actions
  • Builds with YOUR local graphiti-core changes (not PyPI)
  • Pushes to Docker Hub (lvarming/graphiti-mcp)
  • Start here if you want to build custom Docker images

🖥️ LibreChat Integration

Librechat.setup.md

  • Complete setup guide for Graphiti MCP + LibreChat + Neo4j on Unraid
  • Uses your custom Docker image from Docker Hub
  • Step-by-step deployment instructions

🔌 OpenAI API Compatibility

OpenAI-Compatible-Endpoints.md

  • Analysis of OpenAI-compatible endpoint support
  • Explains /v1/responses vs /v1/chat/completions issue
  • Recommendations for supporting OpenRouter, Together.ai, Ollama, etc.

Quick Start for Custom Builds

1. Setup GitHub → Docker Hub Pipeline

Follow GitHub-DockerHub-Setup.md to:

  1. Create Docker Hub access token
  2. Add token to GitHub repository secrets
  3. Push changes to trigger automatic build

2. Deploy on Unraid

Follow Librechat.setup.md to:

  1. Configure Neo4j connection
  2. Deploy Graphiti MCP container using lvarming/graphiti-mcp:latest
  3. Integrate with LibreChat

What's Different in This Setup?

Standard Graphiti Deployment

# Uses official image from PyPI
image: zepai/knowledge-graph-mcp:standalone

Your Custom Deployment

# Uses YOUR image with YOUR changes
image: lvarming/graphiti-mcp:latest

The custom image includes:

  • Your local graphiti-core changes
  • Your MCP server modifications
  • Both Neo4j and FalkorDB drivers
  • Built automatically on every push

Files in This Repository

Workflow Files

  • .github/workflows/build-custom-mcp.yml - GitHub Actions workflow for automated builds

Docker Files

  • mcp_server/docker/Dockerfile.custom - Custom Dockerfile that uses local graphiti-core

Documentation

  • DOCS/GitHub-DockerHub-Setup.md - Docker build setup guide
  • DOCS/Librechat.setup.md - LibreChat integration guide
  • DOCS/OpenAI-Compatible-Endpoints.md - API compatibility analysis
  • DOCS/README.md - This file

Workflow Overview

graph LR
    A[Make Changes] --> B[Git Push]
    B --> C[GitHub Actions]
    C --> D[Build Docker Image]
    D --> E[Push to Docker Hub]
    E --> F[Deploy on Unraid]
    F --> G[Use in LibreChat]
  1. Make Changes - Modify graphiti_core/ or mcp_server/
  2. Git Push - Push to main branch on GitHub
  3. GitHub Actions - Automatically triggered
  4. Build Image - Using Dockerfile.custom with local code
  5. Push to Docker Hub - Tagged as lvarming/graphiti-mcp:latest
  6. Deploy on Unraid - Pull latest image
  7. Use in LibreChat - Configure MCP server URL

Version Information

Your builds include comprehensive version tracking:

docker inspect lvarming/graphiti-mcp:latest | jq '.[0].Config.Labels'

Returns:

{
  "org.opencontainers.image.title": "Graphiti MCP Server (Custom Build)",
  "org.opencontainers.image.version": "1.0.0",
  "graphiti.core.version": "0.23.0",
  "graphiti.core.source": "local",
  "org.opencontainers.image.revision": "abc1234",
  "org.opencontainers.image.created": "2025-11-08T12:00:00Z"
}

Key Benefits

🚀 Automated

  • No manual Docker builds
  • No need to push images yourself
  • Triggered automatically on code changes

🔄 Reproducible

  • Every build is traced to a git commit
  • Anyone can see exactly what was built
  • Version labels include all metadata

🏗️ Multi-Platform

  • Builds for AMD64 and ARM64
  • Works on Intel, AMD, and Apple Silicon
  • Single command works everywhere

🎯 Clean Workflow

  • Professional CI/CD pipeline
  • Follows industry best practices
  • Easy to maintain and extend

Support

Issues with Docker Builds?

See GitHub-DockerHub-Setup.md - Troubleshooting

Issues with Deployment?

See Librechat.setup.md - Troubleshooting

Issues with API Compatibility?

See OpenAI-Compatible-Endpoints.md


Contributing

If you make improvements to these docs or workflows:

  1. Update the relevant documentation file
  2. Test the changes
  3. Commit and push
  4. (Optional) Share with the community via PR to upstream

License

This documentation follows the same license as the Graphiti project.