配置

neo4j-mcp 需要显式配置才能连接到您的 Neo4j 实例。配置可以通过环境变量或命令行标志提供。

传输模式

服务器支持两种传输模式

  • STDIO(默认):传统的标准输入/输出模式,适用于桌面客户端

  • HTTP:基于 Web 的模式,适用于多租户场景和 Web 客户端

使用 NEO4J_TRANSPORT_MODE 环境变量或 --neo4j-transport-mode 标志来设置传输模式。

STDIO 模式

在 STDIO 模式下,凭证通过环境变量(NEO4J_USERNAMENEO4J_PASSWORD)提供。服务器在启动时验证连通性和 APOC 可用性。

HTTP 模式

在 HTTP 模式下,服务器以无状态方式运行,并接受每个请求的身份验证凭证(Bearer Token 或 Basic Authentication)。在 HTTP 模式下请勿设置 NEO4J_USERNAMENEO4J_PASSWORD 环境变量,因为凭证来自每个请求的身份验证头。

环境变量

以下环境变量用于配置

变量 描述 默认

NEO4J_URI

连接 URI(例如 bolt://:7687

必填

NEO4J_USERNAME

Neo4j 用户名(仅限 STDIO 模式)

STDIO 所必需

NEO4J_PASSWORD

Neo4j 密码(仅限 STDIO 模式)

STDIO 所必需

NEO4J_DATABASE

数据库名称

neo4j

NEO4J_READ_ONLY

设置为 true 以禁用写入工具

false

NEO4J_TELEMETRY

设置为 false 以禁用遥测

true

NEO4J_LOG_LEVEL

日志级别(参见 日志记录

info

NEO4J_LOG_FORMAT

日志输出格式:textjson

文本 (text)

NEO4J_SCHEMA_SAMPLE_SIZE

用于模式推断的抽样节点数量

100

NEO4J_MCP_TRANSPORT

此选项已弃用。请使用 NEO4J_TRANSPORT_MODE

NEO4J_TRANSPORT_MODE

传输模式:stdiohttp

stdio

HTTP 模式配置

HTTP 模式的附加环境变量

变量 描述 默认

NEO4J_MCP_HTTP_HOST

服务器绑定地址

127.0.0.1

NEO4J_MCP_HTTP_PORT

服务器监听端口

80(使用 TLS 时为 443

NEO4J_MCP_HTTP_ALLOWED_ORIGINS

CORS 配置(逗号分隔的列表,* 表示全部,空值表示禁用)

空(已禁用)

TLS/HTTPS 配置

在 HTTP 模式下配置 TLS 以实现安全的 HTTPS 连接

变量 描述 默认

NEO4J_MCP_HTTP_TLS_ENABLED

启用 TLS/HTTPS

false

NEO4J_MCP_HTTP_TLS_CERT_FILE

TLS 证书文件路径

如果启用 TLS,则为必需

NEO4J_MCP_HTTP_TLS_KEY_FILE

TLS 私钥文件路径

如果启用 TLS,则为必需

TLS 配置强制最低 TLS 1.2,并使用安全的默认密码套件。启用 TLS 后,默认端口从 80 更改为 443。有关详细的 TLS/HTTPS 设置说明、证书要求和测试步骤,请参阅 TLS/HTTPS 设置

命令行标志

以下命令行标志可用,并且优先于环境变量

通用标志

标志 描述

--neo4j-uri

覆盖 NEO4J_URI 环境变量

--neo4j-username

覆盖 NEO4J_USERNAME 环境变量(仅限 STDIO 模式)

--neo4j-password

覆盖 NEO4J_PASSWORD 环境变量(仅限 STDIO 模式)

--neo4j-database

覆盖 NEO4J_DATABASE 环境变量

--neo4j-read-only

覆盖 NEO4J_READ_ONLY 环境变量

--neo4j-telemetry

覆盖 NEO4J_TELEMETRY 环境变量

--neo4j-schema-sample-size

覆盖 NEO4J_SCHEMA_SAMPLE_SIZE 环境变量

--neo4j-transport-mode

覆盖 NEO4J_MCP_TRANSPORT(取值:stdiohttp

-v, --version

显示版本信息

HTTP 模式标志

标志 描述

--neo4j-http-host

覆盖 NEO4J_MCP_HTTP_HOST 环境变量

--neo4j-http-port

覆盖 NEO4J_MCP_HTTP_PORT 环境变量

--neo4j-http-tls-enabled

覆盖 NEO4J_MCP_HTTP_TLS_ENABLED 环境变量

--neo4j-http-tls-cert-file

覆盖 NEO4J_MCP_HTTP_TLS_CERT_FILE 环境变量

--neo4j-http-tls-key-file

覆盖 NEO4J_MCP_HTTP_TLS_KEY_FILE 环境变量

命令行标志优先于环境变量。

STDIO 模式:必须通过环境变量、命令行标志或两者结合提供三个必需的连接参数(URI、用户名和密码)。

HTTP 模式:仅需通过环境变量或命令行标志提供 URI。凭证通过每个请求的 Basic Authentication 头部提供。