Claude Agent SDK + Neo4j 集成

概述

Claude Agent SDK 是 Anthropic 的 Python 工具箱,用于构建 AI 代理。基于同一代理框架(驱动 Claude Code),它提供自动上下文管理、丰富的工具生态系统、细粒度权限以及生产必备功能,如错误处理和会话管理。

安装

pip install claude-agent-sdk neo4j

核心功能

  • 跨会话的自动上下文管理

  • 原生 MCP(模型上下文协议)服务器支持

  • 使用 @tool 装饰器创建自定义工具

  • 子代理编排,实现并行和专用工作流

  • 会话持久化与恢复

  • 支持多个 LLM 提供商(Anthropic API、AWS Bedrock、Google Vertex AI、Microsoft Azure)

示例

Notebook 描述

claude_agent_sdk.ipynb

Claude Agent SDK 与 Neo4j 集成的演练,包括 MCP 服务器设置、自定义工具创建以及查询执行

扩展点

1. MCP 集成

Claude Agent SDK 具备原生 MCP 支持。MCP 服务器可通过 ClaudeAgentOptionsmcp_servers 参数直接添加——无需适配器。

  • Neo4j MCP 服务器: 利用已有的 MCP 服务器,如 mcp-neo4j-cypher,实现即插即用的集成

2. 直接 Neo4j 集成

若需在 MCP 服务器之外获得更细粒度的控制,可直接使用 Neo4j Python 驱动

  • 驱动: 用于在自定义工具中执行 Cypher 的 neo4j 驱动

3. 自定义工具/函数

使用 @tool 装饰器定义自定义 Neo4j 工具

  • 指定工具名称、描述和输入模式

  • 实现执行 Cypher 查询的函数

  • 以结构化内容块返回结果

  • 使用 create_sdk_mcp_server() 将工具打包为进程内 MCP 服务器

MCP 身份验证

支持的机制

环境变量(STDIO 传输) - 对于本地 MCP 服务器(如 mcp-neo4j-cypher),凭证通过生成时的 env 参数传递。

HTTP 头部(HTTP/SSE 传输) - 对于远程 MCP 服务器,通过 headers 参数传递 API 密钥或 Bearer 令牌(例如 Authorization: Bearer ${API_TOKEN})。

OAuth 2.0(客户端内) - SDK 当前不支持在客户端内进行 OAuth2 MCP 认证。

配置示例(STDIO 传输)

cypher_mcp_config = {
    "type": "stdio",
    "command": "uvx",
    "args": ["mcp-neo4j-cypher"],
    "env": {
        "NEO4J_URI": os.environ.get("NEO4J_URI"),
        "NEO4J_USERNAME": os.environ.get("NEO4J_USERNAME"),
        "NEO4J_PASSWORD": os.environ.get("NEO4J_PASSWORD"),
        "NEO4J_DATABASE": os.environ.get("NEO4J_DATABASE", "neo4j")
    }
}
© . This site is unofficial and not affiliated with Neo4j, Inc.