#!/usr/bin/env python3
"""Graphiti MCP Server 基础使用示例."""
from src.config_manager import ConfigManager
from src.graphiti_client import GraphitiClient
def main():
"""基础使用示例."""
print("🚀 Graphiti MCP Server 基础使用示例\n")
# 1. 初始化
print("1️⃣ 初始化配置管理器...")
config_manager = ConfigManager()
# 2. 配置 Neo4j
print("\n2️⃣ 配置 Neo4j 数据库...")
result = config_manager.configure_neo4j(
uri="bolt://localhost:7687",
username="neo4j",
password="password",
database="neo4j"
)
print(f" {result['message']}")
# 3. 初始化客户端
print("\n3️⃣ 初始化 Graphiti 客户端...")
client = GraphitiClient(config_manager)
if client.connect():
print(" ✅ 连接成功")
else:
print(" ❌ 连接失败")
return
# 4. 添加 Episode
print("\n4️⃣ 添加 Episode...")
result = client.add_episode(
content="我喜欢使用 TypeScript 和 React 开发前端应用",
metadata={"type": "preference", "category": "programming"}
)
print(f" {result['message']}")
# 5. 搜索实体
print("\n5️⃣ 搜索实体...")
result = client.search_entities(query="TypeScript", limit=5)
if result['success']:
print(f" ✅ {result['message']}")
if result['results']:
for i, entity in enumerate(result['results'][:3], 1):
print(f" {i}. {entity.get('content', 'N/A')[:50]}...")
# 6. 查询时间范围
print("\n6️⃣ 查询最近 7 天的记录...")
result = client.query_by_time_range(days=7)
if result['success']:
print(f" ✅ {result['message']}")
# 7. 清理
print("\n7️⃣ 断开连接...")
client.disconnect()
print(" ✅ 完成")
print("\n🎉 示例完成!")
if __name__ == "__main__":
main()