Fix MCP server telemetry and update graphiti-core to v0.23.0

- Regenerate uv.lock in Docker builds to ensure posthog dependency is included
- Update graphiti-core version to 0.23.0 across all configurations
- Fix Python 3.11 compatibility for Pydantic TypedDict import
- Add FalkorDB Browser UI access information to startup logs

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Daniel Chalef 2025-11-08 11:16:06 -08:00
parent 674619cc89
commit ac094a298b
6 changed files with 24 additions and 9 deletions

View file

@ -33,16 +33,20 @@ ENV UV_COMPILE_BYTECODE=1 \
WORKDIR /app/mcp
# Accept graphiti-core version as build argument
ARG GRAPHITI_CORE_VERSION=0.22.0
ARG GRAPHITI_CORE_VERSION=0.23.0
# Copy project files for dependency installation
COPY pyproject.toml uv.lock ./
# Remove the local path override for graphiti-core in Docker builds
# and regenerate lock file to match the PyPI version
RUN sed -i '/\[tool\.uv\.sources\]/,/graphiti-core/d' pyproject.toml && \
if [ -n "${GRAPHITI_CORE_VERSION}" ]; then \
sed -i "s/graphiti-core\[falkordb\]>=0\.16\.0/graphiti-core[falkordb]==${GRAPHITI_CORE_VERSION}/" pyproject.toml; \
fi
sed -i "s/graphiti-core\[falkordb\]>=0\.23\.0/graphiti-core[falkordb]==${GRAPHITI_CORE_VERSION}/" pyproject.toml; \
fi && \
echo "Regenerating lock file for PyPI graphiti-core..." && \
rm -f uv.lock && \
uv lock
# Install Python dependencies
RUN --mount=type=cache,target=/root/.cache/uv \

View file

@ -28,15 +28,19 @@ ENV UV_COMPILE_BYTECODE=1 \
WORKDIR /app/mcp
# Accept graphiti-core version as build argument
ARG GRAPHITI_CORE_VERSION=0.22.0
ARG GRAPHITI_CORE_VERSION=0.23.0
# Copy project files for dependency installation
COPY pyproject.toml uv.lock ./
# Remove the local path override for graphiti-core in Docker builds
# Install with BOTH neo4j and falkordb extras for maximum flexibility
# and regenerate lock file to match the PyPI version
RUN sed -i '/\[tool\.uv\.sources\]/,/graphiti-core/d' pyproject.toml && \
sed -i "s/graphiti-core\[falkordb\]>=0\.16\.0/graphiti-core[neo4j,falkordb]==${GRAPHITI_CORE_VERSION}/" pyproject.toml
sed -i "s/graphiti-core\[falkordb\]>=0\.23\.0/graphiti-core[neo4j,falkordb]==${GRAPHITI_CORE_VERSION}/" pyproject.toml && \
echo "Regenerating lock file for PyPI graphiti-core..." && \
rm -f uv.lock && \
uv lock
# Install Python dependencies
RUN --mount=type=cache,target=/root/.cache/uv \

View file

@ -5,7 +5,7 @@ services:
context: ..
dockerfile: docker/Dockerfile
args:
GRAPHITI_CORE_VERSION: ${GRAPHITI_CORE_VERSION:-0.22.0}
GRAPHITI_CORE_VERSION: ${GRAPHITI_CORE_VERSION:-0.23.0}
MCP_SERVER_VERSION: ${MCP_SERVER_VERSION:-1.0.0}
BUILD_DATE: ${BUILD_DATE:-}
VCS_REF: ${VCS_REF:-}

View file

@ -7,7 +7,7 @@ requires-python = ">=3.10,<4"
dependencies = [
"mcp>=1.9.4",
"openai>=1.91.0",
"graphiti-core[falkordb]>=0.16.0",
"graphiti-core[falkordb]>=0.23.0",
"pydantic-settings>=2.0.0",
"pyyaml>=6.0",
]
@ -24,7 +24,7 @@ providers = [
"sentence-transformers>=2.0.0",
]
dev = [
"graphiti-core>=0.16.0",
"graphiti-core>=0.23.0",
"httpx>=0.28.1",
"mcp>=1.9.4",
"pyright>=1.1.404",

View file

@ -931,6 +931,11 @@ async def run_mcp_server():
logger.info(f' Base URL: http://{display_host}:{mcp.settings.port}/')
logger.info(f' MCP Endpoint: http://{display_host}:{mcp.settings.port}/mcp/')
logger.info(' Transport: HTTP (streamable)')
# Show FalkorDB Browser UI access if enabled
if os.environ.get('BROWSER', '1') == '1':
logger.info(f' FalkorDB Browser UI: http://{display_host}:3000/')
logger.info('=' * 60)
logger.info('For MCP clients, connect to the /mcp/ endpoint above')

View file

@ -1,6 +1,8 @@
"""Response type definitions for Graphiti MCP Server."""
from typing import Any, TypedDict
from typing import Any
from typing_extensions import TypedDict
class ErrorResponse(TypedDict):