让大模型用自然语言查询和分析 BloodHound 中的 Active Directory 数据,无需手写 Cypher。
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add bloodhound --env BLOODHOUND_PASSWORD='<BLOODHOUND_PASSWORD>' --env BLOODHOUND_URI='<BLOODHOUND_URI>' --env BLOODHOUND_USERNAME='<BLOODHOUND_USERNAME>' -- uv run --with 'mcp[cli],neo4j' mcp run '<PATH_TO_THE_PROJECT>server.py'~/.codex/config.toml
[mcp_servers.bloodhound]
command = "uv"
args = ["run", "--with", "mcp[cli],neo4j", "mcp", "run", "<PATH_TO_THE_PROJECT>server.py"]
env = { BLOODHOUND_PASSWORD = "<BLOODHOUND_PASSWORD>", BLOODHOUND_URI = "<BLOODHOUND_URI>", BLOODHOUND_USERNAME = "<BLOODHOUND_USERNAME>" }
# codex mcp add bloodhound --env BLOODHOUND_PASSWORD='<BLOODHOUND_PASSWORD>' --env BLOODHOUND_URI='<BLOODHOUND_URI>' --env BLOODHOUND_USERNAME='<BLOODHOUND_USERNAME>' -- uv run --with 'mcp[cli],neo4j' mcp run '<PATH_TO_THE_PROJECT>server.py'~/.cursor/mcp.json
{
"mcpServers": {
"bloodhound": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],neo4j",
"mcp",
"run",
"<PATH_TO_THE_PROJECT>server.py"
],
"env": {
"BLOODHOUND_PASSWORD": "<BLOODHOUND_PASSWORD>",
"BLOODHOUND_URI": "<BLOODHOUND_URI>",
"BLOODHOUND_USERNAME": "<BLOODHOUND_USERNAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"bloodhound": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],neo4j",
"mcp",
"run",
"<PATH_TO_THE_PROJECT>server.py"
],
"env": {
"BLOODHOUND_PASSWORD": "<BLOODHOUND_PASSWORD>",
"BLOODHOUND_URI": "<BLOODHOUND_URI>",
"BLOODHOUND_USERNAME": "<BLOODHOUND_USERNAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"bloodhound": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],neo4j",
"mcp",
"run",
"<PATH_TO_THE_PROJECT>server.py"
],
"env": {
"BLOODHOUND_PASSWORD": "<BLOODHOUND_PASSWORD>",
"BLOODHOUND_URI": "<BLOODHOUND_URI>",
"BLOODHOUND_USERNAME": "<BLOODHOUND_USERNAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"bloodhound": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],neo4j",
"mcp",
"run",
"<PATH_TO_THE_PROJECT>server.py"
],
"env": {
"BLOODHOUND_PASSWORD": "<BLOODHOUND_PASSWORD>",
"BLOODHOUND_URI": "<BLOODHOUND_URI>",
"BLOODHOUND_USERNAME": "<BLOODHOUND_USERNAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"bloodhound": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],neo4j",
"mcp",
"run",
"<PATH_TO_THE_PROJECT>server.py"
],
"env": {
"BLOODHOUND_PASSWORD": "<BLOODHOUND_PASSWORD>",
"BLOODHOUND_URI": "<BLOODHOUND_URI>",
"BLOODHOUND_USERNAME": "<BLOODHOUND_USERNAME>"
}
}
}
}Environment variables
BLOODHOUND_PASSWORDBLOODHOUND_URIBLOODHOUND_USERNAME
Replace the placeholders with your own credentials and keep them out of version control.