Commit graph

605 commits

Author SHA1 Message Date
Tyler Lafleur
69209f9865 Nuclear option: direct Python execution with hardcoded port 8080
PROBLEM:
Despite multiple attempts, MCP server still runs on port 8000.
uv run and environment variables aren't working as expected.

SOLUTION:
Simplest possible approach - direct Python execution:
- Remove 'uv run' complexity
- Remove environment variable setting
- Hardcode --port 8080 in command arguments
- Direct python execution

COMMAND:
cd mcp_server && python graphiti_mcp_server.py --transport sse --host 0.0.0.0 --port 8080

This MUST work - no complexity, just direct execution with explicit port.

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 21:20:29 -05:00
Tyler Lafleur
76332e34bd Fix Railway port configuration: explicitly force port 8080
PROBLEM:
MCP server was using port 8000 despite PORT=8080 being set in Railway.
Environment variable wasn't being read correctly by the Python process.

SOLUTION:
- Set PORT=8080 in start command environment
- Add explicit --port 8080 command argument
- Double enforcement ensures port 8080 is used

EXPECTED RESULT:
- MCP server will start on port 8080 (not 8000)
- Railway load balancer can route traffic correctly
- SSE endpoint accessible for ChatGPT at /sse
- No more 502 errors

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 21:13:44 -05:00
Tyler Lafleur
c76ac66bdd Fix Railway port configuration: remove hardcoded port, let Railway set PORT
PROBLEM FIXED:
Railway was showing hardcoded --port 8000 in start command, causing port mismatch.
Railway expects apps to listen on PORT environment variable (8080).

SOLUTION:
- Updated railway.json start command to include --host 0.0.0.0
- Explicitly removed any --port argument
- Let Railway set PORT via environment variable

RESULT:
MCP server will now listen on Railway's assigned port (8080) instead of
hardcoded 8000, fixing the 502 error and enabling ChatGPT SSE access.

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 21:03:25 -05:00
Tyler Lafleur
88ebb6849c Switch to Railway Python buildpack: fix uv.lock and remove Docker forcing
PROBLEM SOLVED:
- Fixed uv.lock sync error by regenerating lockfile
- Railway now uses Python buildpack instead of fighting Docker auto-detection

CHANGES:
- Updated mcp_server/uv.lock to sync with pyproject.toml
- Removed Docker forcing files (Dockerfile, nixpacks.toml, .dockerignore)
- Updated railway.json for Python buildpack with proper start command
- Simplified approach: let Railway handle Python environment naturally

DEPLOYMENT:
- Build: 'cd mcp_server && uv sync'
- Start: 'cd mcp_server && uv run graphiti_mcp_server.py --transport sse'
- Should deploy in ~2-3 minutes with Python buildpack

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 20:11:05 -05:00
Tyler Lafleur
6a11643a94 Comprehensive Railway deployment fix: eliminate cache mount errors
MAJOR CHANGES:
- Replace complex uv-based Dockerfile with simple pip-only approach
- Add requirements.txt for standard Python dependency management
- Remove all uv commands that might trigger cache mount behavior
- Add .dockerignore for clean Railway build context
- Add nixpacks.toml to force Dockerfile usage (disable auto-detection)
- Update railway.json with explicit Docker configuration

PROBLEM SOLVED:
Railway 'Cache mount ID is not prefixed with cache key' error should be resolved
by eliminating all potential sources of cache mount directives.

DEPLOYMENT STRATEGY:
- Single-stage Docker build using standard pip
- Install graphiti-core from source with 'pip install .'
- Install MCP dependencies with 'pip install -r requirements.txt'
- No complex build tools or caching mechanisms
- Explicit Railway Docker configuration

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 19:58:40 -05:00
Tyler Lafleur
a0258a4376 Remove conflicting mcp_server/Dockerfile with cache mounts
The mcp_server/Dockerfile contained --mount=type=cache directives that Railway doesn't support.
Railway will now use the root Dockerfile which is optimized for Railway deployment without cache mounts.

Fixes: Cache mount ID is not prefixed with cache key error

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 19:51:54 -05:00
Tyler Lafleur
b56d469648 Fix Railway deployment: Remove cache mounts, add port config, create deployment guides
- Fix Docker cache mount issues that caused Railway build failures
- Add port argument support to MCP server for Railway compatibility
- Create Railway-optimized Dockerfile without cache mounts
- Add railway.json configuration for proper deployment
- Create comprehensive deployment and ChatGPT integration guides
- Add environment variable templates for Railway deployment
- Support Railway's PORT environment variable handling
- Ready for ChatGPT MCP SSE integration

🚀 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 19:44:48 -05:00
ThinkBeDo
a5741efd13
Update Dockerfile 2025-09-19 19:28:29 -05:00
ThinkBeDo
5749edc720
Update Dockerfile 2025-09-19 19:24:21 -05:00
Preston Rasmussen
3efe085a92
OpenSearch updates (#906)
* updates

* add uuid filter functionality

* update

* updates

* bump-version

* update

* fix typo

* use async function

* update unit tests

* update delete

* update deletion

* async update

* update

* update

* update

* update
2025-09-14 01:43:37 -04:00
Daniel Chalef
4dab259217 @luan122 has signed the CLA in getzep/graphiti#908 2025-09-12 16:14:33 -07:00
Preston Rasmussen
0884cc00e5
OpenSearch Integration for Neo4j (#896)
* move aoss to driver

* add indexes

* don't save vectors to neo4j with aoss

* load embeddings from aoss

* add group_id routing

* add search filters and similarity search

* neptune regression update

* update neptune for regression purposes

* update index creation with aliasing

* regression tested

* update version

* edits

* claude suggestions

* cleanup

* updates

* add embedding dim env var

* use cosine sim

* updates

* updates

* remove unused imports

* update
2025-09-09 10:51:46 -04:00
Daniel Chalef
a3479758d5 @gsw945 has signed the CLA in getzep/graphiti#901 2025-09-09 05:06:30 -07:00
Daniel Chalef
b558d96a79 @DavIvek has signed the CLA in getzep/graphiti#900 2025-09-09 02:59:57 -07:00
Preston Rasmussen
ce1ae30569
Add return to add_triplet (#898)
* update

* add triplet results

* Update graphiti_core/graphiti.py

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2025-09-08 15:39:05 -04:00
Preston Rasmussen
7e6d93fa32
add episode bulk search results (#897)
* add episode bulk search results

* update

* docstring

* update
2025-09-08 14:34:32 -04:00
Daniel Chalef
792bcc52bd @Bit-urd has signed the CLA in getzep/graphiti#895 2025-09-07 13:01:21 -07:00
Preston Rasmussen
1f5a1b890c
cleanup (#894)
* cleanup

* update

* remove unused imports
2025-09-05 11:30:46 -04:00
Daniel Chalef
c0fcc82ebe @jeanlucthumm has signed the CLA in getzep/graphiti#892 2025-09-04 11:50:10 -07:00
Preston Rasmussen
eeb0d877de
update (#891) 2025-09-03 18:42:58 -04:00
Preston Rasmussen
81d110f944
bump version (#889)
* bump version

* remove unused imports
2025-09-03 14:08:35 -04:00
prestonrasmussen
29ba336189 remove parallel runtime and build dynamic indexes sequentially 2025-09-03 13:53:12 -04:00
Preston Rasmussen
1460172568
don't return index labels (#887)
* don't return index labels

* update tests
2025-09-02 12:02:33 -04:00
Daniel Chalef
51e880fd57 @maskshell has signed the CLA in getzep/graphiti#886 2025-09-02 00:48:19 -07:00
Daniel Chalef
a8c972357e @Shelvak has signed the CLA in getzep/graphiti#885 2025-09-01 15:26:44 -07:00
Preston Rasmussen
da6f3336bb
update-tests (#872)
* update-tests

* unit test update

* update tests

* update tests

* update kuzu query

* update

* update query

* update args

* fix bulk episode add

* make handling better
2025-08-31 13:19:29 -04:00
Daniel Chalef
119a43b8e4
Update cla.yml (#884) 2025-08-30 08:23:53 -07:00
Daniel Chalef
2541215698
Update claude-code-review.yml (#883) 2025-08-30 08:21:46 -07:00
Daniel Chalef
3dc2857077
Update claude-code-review.yml (#880) 2025-08-29 08:52:10 -07:00
Daniel Chalef
c5df6b591f
Update claude.yml (#877) 2025-08-28 20:58:00 -07:00
Daniel Chalef
9b14a110d3
Update claude-code-review.yml (#876) 2025-08-28 20:46:17 -07:00
Jack Ryan
03350335cd
docs: Add Azure OpenAI v1 API opt-in requirement documentation (#873)
Add important notice about Azure OpenAI v1 API opt-in requirement for structured outputs.
Without this opt-in, users encounter 404 errors when using client.beta.chat.completions.parse().
Includes link to Microsoft's official documentation on the v1 API migration.

Fixes ZEPAI-1634

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-28 12:09:54 -04:00
Siddhartha Sahu
8802b7db13
Add support for Kuzu as the graph driver (#799)
* Fix FalkoDB tests

* Add support for graph memory using Kuzu

* Fix lints

* Fix queries

* Add tests

* Add comments

* Add more test coverage

* Add mocked tests

* Format

* Add mocked tests II

* Refactor community queries

* Add more mocked tests

* Refactor tests to always cleanup

* Add more mocked tests

* Update kuzu

* Refactor how filters are built

* Add more mocked tests

* Refactor and cleanup

* Fix tests

* Fix lints

* Refactor tests

* Disable neptune

* Fix

* Update kuzu version

* Update kuzu to latest release

* Fix filter

* Fix query

* Fix Neptune query

* Fix bulk queries

* Fix lints

* Fix deletes

* Comments and format

* Add Kuzu to the README

* Fix bulk queries

* Test all fields of nodes and edges

* Fix lints

* Update search_utils.py

---------

Co-authored-by: Preston Rasmussen <109292228+prasmussen15@users.noreply.github.com>
2025-08-27 11:45:21 -04:00
Preston Rasmussen
309159bccb
update migration (#870)
* update migration

* bump version

* close driver
2025-08-27 11:13:10 -04:00
Daniel Chalef
d62c203147
docs: Update Ollama integration to use OpenAIGenericClient (#866)
- Replace OpenAIClient with OpenAIGenericClient in Ollama documentation
- Add bash code block formatting for model installation commands
- Update API key placeholder from 'abc' to 'ollama' for clarity
- Add comment clarifying Ollama's OpenAI-compatible endpoint

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>
2025-08-26 14:49:51 -07:00
bechbd
41c3da2440
Fixed issue where creating indices was not called for Neptune and added missing quickstart example (#850)
* Rebased Neptune changes based on significant rework done

* Updated the README documentation

* Fixed linting and formatting

* Update README.md

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update graphiti_core/driver/neptune_driver.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update README.md

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Addressed feedback from code review

* Updated the README documentation for clarity

* Updated the README and neptune_driver based on PR feedback

* Update node_db_queries.py

* bug: Fixed issue with missing call to create indicies for Neptune and added quickstart example

* chore: added pyright to ignore the attribute not in GrapHDriver

* Fixed quickstart with feedback from automated PR

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Preston Rasmussen <109292228+prasmussen15@users.noreply.github.com>
2025-08-26 11:51:20 -04:00
Preston Rasmussen
fa9c1696b8
dont create extra search embeddings (#861)
* dont create extra search embeddings

* updates

* add missing conditionals

* fix

* float 0

* null check

* more nullchecks

* bump version
2025-08-26 11:16:46 -04:00
Preston Rasmussen
cbf783654b
bump version (#860) 2025-08-25 12:34:39 -04:00
Preston Rasmussen
0ac7ded4d1
use hnsw indexes (#859)
* use hnsw indexes

* add migration

* updates

* add group_id validation

* updates

* add type annotation

* updates

* update

* swap to prerelease
2025-08-25 12:31:35 -04:00
Daniel Chalef
b31e74e5d2
feat: Add GitHub AI Moderator for automated spam detection (#856)
feat: Add GitHub AI Moderator workflow

Add simple workflow configuration for GitHub's AI Moderator action to automatically detect spam in issues and comments.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-25 07:25:07 -07:00
Guy Korland
65042738d4
fix broken link (#855) 2025-08-25 07:22:26 -07:00
Daniel Chalef
cdd82e8e23 @aktek-yazge has signed the CLA in getzep/graphiti#735 2025-08-21 15:39:23 -07:00
Preston Rasmussen
1edcbaa9e9
Gpt 5 default (#849)
* gpt-5-mini and gpt-5-nano default

* bump version

* remove unused imports

* linter

* update

* disable neptune errors while we get a fixture in place

* update pyright

* revert non-structured completions

* fix typo
2025-08-21 12:10:57 -04:00
bechbd
ef56dc779a
Amazon Neptune Support (#793)
* Rebased Neptune changes based on significant rework done

* Updated the README documentation

* Fixed linting and formatting

* Update README.md

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update graphiti_core/driver/neptune_driver.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update README.md

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Addressed feedback from code review

* Updated the README documentation for clarity

* Updated the README and neptune_driver based on PR feedback

* Update node_db_queries.py

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Preston Rasmussen <109292228+prasmussen15@users.noreply.github.com>
2025-08-20 10:56:03 -04:00
Daniel Chalef
9c1e1ad7ef @liangyuanpeng has signed the CLA in getzep/graphiti#847 2025-08-20 04:35:53 -07:00
Preston Rasmussen
1c27a3563b
update prompts and support thinking models (#846)
* update prompts and support thinking models

* update

* type ignore
2025-08-19 12:31:50 -04:00
Preston Rasmussen
c28bde6b07
fix typo and model selector (#843)
* fix typo and model selector

* bump version
2025-08-18 11:15:45 -04:00
Gal Shubeli
1abb4b0fa3
Fix Community Operations with FalkorDB (#824)
* Update node_db_queries.py

* Update node_db_queries.py

* fix-community-operations

---------

Co-authored-by: Naseem Ali <34807727+Naseem77@users.noreply.github.com>
2025-08-18 10:38:24 -04:00
Daniel Chalef
50d385ce06 @Wizmann has signed the CLA in getzep/graphiti#842 2025-08-18 04:09:46 -07:00
Preston Rasmussen
1278f877d8
add bulk delete (#837)
* add bulk delete

* Update graphiti_core/edges.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update graphiti_core/edges.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update graphiti_core/edges.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-15 12:15:07 -04:00