docs: rewrite README with structured overview and quick start guide

Replaces the minimal project description with a comprehensive README
including a component overview table, quick start instructions, common
Ansible operations, and links to detailed documentation. Aligns with
Red Panda Approval™ standards.
This commit is contained in:
2026-03-03 12:49:06 +00:00
parent c7be03a743
commit b4d60f2f38
219 changed files with 34586 additions and 2 deletions

View File

@@ -0,0 +1,56 @@
---
- name: Deploy Neo4j MCP Servers with Docker Compose
hosts: ubuntu
become: true
vars:
required_service: neo4j_mcp
tasks:
- name: Check if host has neo4j_mcp service
ansible.builtin.set_fact:
has_neo4j_mcp_service: "{{ required_service in services | default([]) }}"
- name: Skip hosts without neo4j_mcp service
ansible.builtin.meta: end_host
when: not has_neo4j_mcp_service
- name: Create neo4j_mcp group
ansible.builtin.group:
name: "{{neo4j_mcp_group}}"
- name: Create neo4j_mcp user
ansible.builtin.user:
name: "{{neo4j_mcp_user}}"
comment: "{{neo4j_mcp_user}}"
group: "{{neo4j_mcp_group}}"
system: true
- name: Add group neo4j_mcp to user ponos
ansible.builtin.user:
name: ponos
groups: "{{neo4j_mcp_group}}"
append: true
- name: Create neo4j_mcp directory
ansible.builtin.file:
path: "{{neo4j_mcp_directory}}"
owner: "{{neo4j_mcp_user}}"
group: "{{neo4j_mcp_group}}"
state: directory
mode: '750'
- name: Template docker-compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{neo4j_mcp_directory}}/docker-compose.yml"
owner: "{{neo4j_mcp_user}}"
group: "{{neo4j_mcp_group}}"
mode: '550'
- name: Reset SSH connection to apply group changes
meta: reset_connection
- name: Start Neo4j MCP services
community.docker.docker_compose_v2:
project_src: "{{neo4j_mcp_directory}}"
state: present
pull: always

View File

@@ -0,0 +1,27 @@
services:
neo4j-cypher:
image: mcp/neo4j-cypher:latest
pull_policy: always
container_name: neo4j-cypher
restart: unless-stopped
ports:
- "{{neo4j_cypher_mcp_port}}:8000"
environment:
- NEO4J_URI=bolt://{{neo4j_host}}:{{neo4j_bolt_port}}
- NEO4J_USERNAME=neo4j
- NEO4J_PASSWORD={{neo4j_auth_password}}
- NEO4J_DATABASE=neo4j
- NEO4J_TRANSPORT=http
- NEO4J_MCP_SERVER_HOST=0.0.0.0
- NEO4J_MCP_SERVER_PORT=8000
- NEO4J_MCP_SERVER_PATH=/mcp
- NEO4J_NAMESPACE=local
- NEO4J_MCP_SERVER_ALLOWED_HOSTS=localhost,127.0.0.1,miranda.incus,rosalind.incus,miranda.incus:{{neo4j_cypher_mcp_port}}
- NEO4J_MCP_SERVER_ALLOW_ORIGINS=
- NEO4J_READ_TIMEOUT=30
logging:
driver: syslog
options:
syslog-address: "tcp://127.0.0.1:{{neo4j_cypher_syslog_port}}"
syslog-format: "{{syslog_format}}"
tag: "neo4j-cypher"