Commit graph

718 commits

Author SHA1 Message Date
Daniel Chalef
f88a5c4ed2 conductor-checkpoint-msg_01SwJkCDAScffk8116KPVpTd 2025-10-29 23:09:38 -07:00
Daniel Chalef
8a24aa16c6 conductor-checkpoint-msg_01MsqeFGoCEXpoNMiDRM3Gjh 2025-10-29 23:05:40 -07:00
Daniel Chalef
c3a4752f36 conductor-checkpoint-msg_01B78jtT59YDt1Xm5hJpoqQw 2025-10-29 23:04:58 -07:00
Daniel Chalef
583dab6b0d conductor-checkpoint-msg_0118QJWvZLyoZfwb1UWZqrRa 2025-10-29 23:02:00 -07:00
Daniel Chalef
8c02683174 fix: Remove protected 'name' attribute from entity type models
Pydantic BaseModel reserves 'name' as a protected attribute. Removed
the 'name' attribute from dynamically created entity type models as
it's not needed - the entity type name is already stored as the class
name and dict key.

Fixed error: name cannot be used as an attribute for Requirement as
it is a protected attribute name.
2025-10-29 22:58:56 -07:00
Daniel Chalef
ca929c5604 conductor-checkpoint-msg_0169v3hqZG1Sqb13Kp1Vijms 2025-10-29 22:58:15 -07:00
Daniel Chalef
1728990efa conductor-checkpoint-msg_0173SR9CxbBH9jVWp8tLooRp 2025-10-29 22:52:12 -07:00
Daniel Chalef
b434a6b680 fix: Convert entity_types from list to dict for Graphiti API
The Graphiti add_episode() API expects entity_types as a
dict[str, type[BaseModel]], not a list. Changed entity type
building to create a dictionary mapping entity names to their
Pydantic model classes.

Fixed error: 'list' object has no attribute 'items'

Changes:
- Build entity_types as dict instead of list in config processing
- Add fallback to convert ENTITY_TYPES list to dict if needed
- Map entity type names to their model classes
2025-10-29 22:51:24 -07:00
Daniel Chalef
9561c12e59 conductor-checkpoint-msg_01Br69UnYf8QXvtAhJVTuDGD 2025-10-29 22:50:28 -07:00
Daniel Chalef
d940b6fb7d fix: Use timezone.utc instead of UTC for Python 3.10 compatibility
The UTC constant was added in Python 3.11. Changed to use
timezone.utc which is available in Python 3.10+.

Fixed ImportError: cannot import name 'UTC' from 'datetime'
2025-10-29 22:46:17 -07:00
Daniel Chalef
736e5e21a2 conductor-checkpoint-msg_01JvcW97a4s3icDWFkhF3kEJ 2025-10-29 22:45:20 -07:00
Daniel Chalef
12eb564eda fix: Resolve database connection and episode processing errors
Fixed two critical runtime errors:

1. Database connection check for KuzuDB
   - KuzuDB session.run() returns None, causing async iteration error
   - Added special handling for KuzuDB (in-memory, no query needed)
   - Other databases (Neo4j, FalkorDB) still perform connection test

2. Episode processing parameter error
   - Changed 'episode_type' parameter to 'source' to match Graphiti API
   - Added required 'reference_time' parameter with current timestamp
   - Added datetime imports (UTC, datetime)

Errors fixed:
- 'async for' requires an object with __aiter__ method, got NoneType
- Graphiti.add_episode() got an unexpected keyword argument 'episode_type'
2025-10-29 22:43:09 -07:00
Daniel Chalef
aa16d4a9ac conductor-checkpoint-msg_016AXAH98nYKTj5WCueBubmA 2025-10-29 22:40:40 -07:00
Daniel Chalef
bb7883a4ee feat: Update default embedding model to text-embedding-3-small
Replace outdated text-embedding-ada-002 with the newer, more efficient
text-embedding-3-small model as the default embedder. The new model
offers better performance and is more cost-effective.

Updated:
- config/config.yaml: Changed default model
- README.md: Updated documentation to reflect new default
2025-10-29 22:36:52 -07:00
Daniel Chalef
7e105825bd conductor-checkpoint-msg_01Jcb8sm9bpqB9Ksz1W6YrSz 2025-10-29 22:36:01 -07:00
Daniel Chalef
bb12a91ebd docs: Remove telemetry from features list
Telemetry is not a feature but a notice about data collection,
so it shouldn't be listed as a feature.

Addresses review comment on line 29
2025-10-29 22:34:51 -07:00
Daniel Chalef
bbf082512f conductor-checkpoint-msg_01DNn76rvpx7rmTBwsUQd1De 2025-10-29 22:34:20 -07:00
Daniel Chalef
6a3a1ba706 docs: Remove SSE transport reference from Claude Desktop section
Since the MCP server no longer supports SSE transport, removed the
mention of SSE from the mcp-remote description. The server only
uses HTTP transport.

Addresses review comment on line 514
2025-10-29 22:33:39 -07:00
Daniel Chalef
7074b107b8 conductor-checkpoint-msg_01QMeMEMe9rTVDgd8Ce5hmXp 2025-10-29 22:33:13 -07:00
Daniel Chalef
9193b52179 docs: Address README review comments
- Shorten Kuzu database description to be more concise
- Update Ollama model example to use 'gpt-oss:120b'
- Restore Azure OpenAI environment variables documentation
- Remove implementation details from Docker section (irrelevant to container users)
- Clarify mcp-remote supports both HTTP and SSE transports

Addresses review comments #1-7 on the PR
2025-10-29 22:22:51 -07:00
Daniel Chalef
ca61e11fc8 conductor-checkpoint-msg_018Z7AjbTkuDfhqdjB9iGbbD 2025-10-29 22:20:33 -07:00
Daniel Chalef
12316066ca docs: Update README with comprehensive features and database options
- Add comprehensive features list including all supported databases, LLM providers, and transports
- Document Kuzu as the default database with explanation of its benefits and archived status
- Add detailed instructions for running with different databases (Kuzu, Neo4j, FalkorDB)
- Update transport references from SSE to HTTP (default transport)
- Add database-specific Docker Compose instructions
- Update MCP client configurations to use /mcp/ endpoint
- Clarify prerequisites to reflect optional nature of external databases
- Add detailed database configuration examples for all supported backends
2025-10-29 22:09:39 -07:00
Daniel Chalef
d76b70de39 conductor-checkpoint-msg_01VsJQ3MgDxPwyb4ynvswZfb 2025-10-29 22:05:17 -07:00
Daniel Chalef
a85b1943ad fix: Move README back to mcp_server root folder
The main README for the MCP server should be in the root of the mcp_server folder for better discoverability
2025-10-29 21:22:56 -07:00
Daniel Chalef
fc639ae605 conductor-checkpoint-msg_01GuBj69k2CsqgojBsGJ2zFT 2025-10-29 21:22:01 -07:00
Daniel Chalef
4fe92a2b5b fix: Use contextlib.suppress instead of try-except-pass (SIM105)
- Replace try-except-pass with contextlib.suppress in test_async_operations.py
- Replace try-except-pass with contextlib.suppress in test_fixtures.py
- Fixes ruff SIM105 linting errors
2025-10-29 18:46:50 -07:00
Daniel Chalef
5b40df724e conductor-checkpoint-msg_01RedNheKT4yWyXcM83o3Nmv 2025-10-29 18:44:16 -07:00
Daniel Chalef
669aaae785 fix: Fix all linting errors in test suite
- Replace bare except with except Exception
- Remove unused imports and variables
- Fix type hints to use modern syntax
- Apply ruff formatting for line length
- Ensure all tests pass linting checks
2025-10-29 18:41:18 -07:00
Daniel Chalef
6d1c8ad17a conductor-checkpoint-msg_015EewQhKbqAGSQkasWtRQjp 2025-10-29 18:33:04 -07:00
Daniel Chalef
89e6e7c354 Merge branch 'main' into feat/mcp-server-v1-final
Resolved conflicts:
- Removed old mcp_server/graphiti_mcp_server.py (moved to src/)
- Kept our uv.lock with MCP dependencies
2025-10-29 18:31:42 -07:00
Daniel Chalef
dfaadc8fec conductor-checkpoint-msg_01NfviLNeAhFDA1G5841YKCS 2025-10-29 18:29:56 -07:00
Preston Rasmussen
c29f4da21e
update mmr to use bulk load overrides (#1029)
* update mmr to use bulk load overrides

* update returns

* update
2025-10-29 09:51:58 -04:00
Daniel Chalef
ae227ce927 @didier-durand has signed the CLA in getzep/graphiti#1028 2025-10-29 02:32:04 -07:00
Daniel Chalef
dfb99e742e fix: Improve test runner to load API keys from .env file
- Add dotenv loading support in test runner
- Fix duplicate os import issue
- Improve prerequisite checking with helpful hints
- Update error messages to guide users

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 12:20:14 -07:00
Daniel Chalef
b19b3c4b11 conductor-checkpoint-msg_01Q7VLFTJrtmpkaB7hfUzZLP 2025-10-27 12:15:35 -07:00
Daniel Chalef
56f6d09df0
Add MCP server release workflow (#1025)
* conductor-checkpoint-start

* conductor-checkpoint-msg_01B1n4yHQFoVrWWdKcqPQ4Qa

* conductor-checkpoint-msg_01LS1v8ok5qtzAofv1TFRDHt

* conductor-checkpoint-msg_01H5pxrRKDpizF4wv1irnvRz

* conductor-checkpoint-msg_01EFo2gQBKSFkGcJoJ4bUWNS

* conductor-checkpoint-msg_01QW92pnqMv17sfV4CxFKn7Y

* conductor-checkpoint-msg_01VqPRMaBRGpBf9E8sdpPeFa

* Fix critical issues in MCP server release workflow

- Fix Docker tag format: use version only (0.4.0) instead of mcp-v0.4.0
- Add Python 3.11 setup for tomllib compatibility
- Add workflow_dispatch trigger for testing without creating tags
- Add conditional push logic for manual testing

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove workflow_dispatch trigger from MCP server release

Simplify workflow to only trigger on mcp-v*.*.* tags.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* conductor-checkpoint-msg_019AX8ymwf9eec2KF979CJCM

* conductor-checkpoint-msg_01LMofTLUNkicSq5vpFmsd1C

* Add semantic version validation to MCP server release

Validate tag follows X.Y.Z format before processing.
Rejects malformed tags like mcp-v1.0 or mcp-v1.0.0.0.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* conductor-checkpoint-msg_01Ndj59qcprSNRfe3vuciwwA

* conductor-checkpoint-msg_01PmA8bfCLKv7yHiaBz2MypS

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-27 12:06:38 -07:00
Preston Rasmussen
71f1f66d11
Search client update (#1026)
* update bulk interfae handling

* bump version

* format
2025-10-26 22:07:36 -04:00
Daniel Chalef
968c36c2d1 conductor-checkpoint-msg_01TscHXmijzkqcTJX5sGTYP8 2025-10-26 18:14:13 -07:00
Daniel Chalef
fefcd1a2de conductor-checkpoint-msg_014BF6Kzdy7qXc5AgC7eeVa5 2025-10-26 18:03:30 -07:00
Daniel Chalef
2037df875d fix: Configure consistent logging format between uvicorn and MCP server
- Use simplified format matching uvicorn's default (LEVEL message)
- Remove timestamps from custom logger format
- Suppress verbose MCP and uvicorn access logs
- Improve readability of server startup output

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 18:00:47 -07:00
Daniel Chalef
230b82a047 conductor-checkpoint-msg_01417YVh3s6afJadN5AM5Ahk 2025-10-26 17:59:47 -07:00
Daniel Chalef
7a65f6729a fix: Correct MCP HTTP endpoint path from / to /mcp/
- Remove incorrect /status endpoint reference
- Update logging to show correct MCP endpoint at /mcp/
- Align with FastMCP documentation standards

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 17:54:41 -07:00
Daniel Chalef
70c08e4c3e conductor-checkpoint-msg_01SNpbaZMdxWbefo2zsLprcW 2025-10-26 17:53:00 -07:00
Daniel Chalef
91d515871b feat: Add detailed server URL logging and improve access information
- Added comprehensive logging showing exact URLs to access the MCP server
- Display localhost instead of 0.0.0.0 for better usability
- Show MCP endpoint, transport type, and status endpoint information
- Added visual separators to make server info stand out in logs

This helps users understand exactly how to connect to the MCP server
and troubleshoot connection issues.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 17:48:56 -07:00
Daniel Chalef
a1aca3cc09 conductor-checkpoint-msg_01EaN8GZtehm8LV3a7CdWJ8u 2025-10-26 17:47:15 -07:00
Daniel Chalef
f3b793f244 fix: Update hardcoded default model to gpt-4.1 and fix config path
- Changed hardcoded default in schema.py from gpt-4o to gpt-4.1
- Fixed default config path to look in config/config.yaml relative to mcp_server directory
- This ensures the server uses gpt-4.1 as the default model everywhere

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 17:44:36 -07:00
Daniel Chalef
3c6bd3d9e0 conductor-checkpoint-msg_013HP1MYHKZ5wdTHHxrpBaT9 2025-10-26 17:42:39 -07:00
Daniel Chalef
bcf1ccd843 fix: Correct default OpenAI model to gpt-4.1
Changed the default LLM model from gpt-4o-mini to gpt-4.1 as requested.
This is the latest GPT-4 series model.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 17:40:12 -07:00
Daniel Chalef
d1036197f4 conductor-checkpoint-msg_01AJJ48RbkPaZ99G2GmE6HUi 2025-10-26 17:38:47 -07:00
Daniel Chalef
4788e80654 conductor-checkpoint-msg_01FETp6u9mWAMjJAeT6WFgAf 2025-10-26 17:38:12 -07:00