Skip to content

Commit 462e2fb

Browse files
committed
Added Dockerfile
1 parent d4339f3 commit 462e2fb

File tree

3 files changed

+156
-33
lines changed

3 files changed

+156
-33
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
build/
8+
develop-eggs/
9+
dist/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
*.egg-info/
20+
.installed.cfg
21+
*.egg
22+
23+
# Virtual Environment
24+
venv/
25+
env/
26+
ENV/
27+
28+
# IDE
29+
.idea/
30+
.vscode/
31+
*.swp
32+
*.swo
33+
34+
# Git
35+
.git
36+
.gitignore
37+
38+
# Docker
39+
Dockerfile
40+
.dockerignore
41+
42+
# Documentation
43+
docs/
44+
*.md
45+
!README.md
46+
!pyproject.toml
47+
48+
# Tests
49+
tests/
50+
test/
51+
testing/
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
FROM python:3.11-slim
2+
3+
# Set working directory
4+
WORKDIR /app
5+
6+
# Install build dependencies
7+
RUN pip install --no-cache-dir hatchling
8+
9+
# Copy dependency files first
10+
COPY pyproject.toml /app/
11+
12+
# Install runtime dependencies
13+
RUN pip install --no-cache-dir mcp>=1.6.0 requests>=2.31.0
14+
15+
# Copy the source code
16+
COPY src/ /app/src/
17+
COPY README.md /app/
18+
19+
# Install the package
20+
RUN pip install --no-cache-dir -e .
21+
22+
# Environment variables for Neo4j Aura API credentials
23+
ENV NEO4J_AURA_CLIENT_ID=""
24+
ENV NEO4J_AURA_CLIENT_SECRET=""
25+
26+
# Command to run the server using the package entry point
27+
CMD ["sh", "-c", "mcp-neo4j-aura-manager --client-id ${NEO4J_AURA_CLIENT_ID} --client-secret ${NEO4J_AURA_CLIENT_SECRET}"]

servers/mcp-neo4j-cloud-aura-api/README.md

Lines changed: 78 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Neo4j Aura Database Manager MCP Server
1+
# 🚀💖☁️ Neo4j Aura Database Manager MCP Server
22

3-
## Overview
3+
## 🌟 Overview
44

55
A Model Context Protocol (MCP) server implementation that provides tools for managing Neo4j Aura database instances through the Neo4j Aura API.
66

77
This server allows you to create, monitor, and manage Neo4j Aura instances directly through Claude, making it easy to provision and maintain your graph database infrastructure.
88

9-
## Authentication
9+
## 🔑 Authentication
1010

1111
Authentication with the Neo4j Aura API requires:
1212
- Client ID
@@ -16,13 +16,13 @@ You can obtain these credentials from the Neo4j Aura console, see the [documenta
1616

1717
Here is the [API Specification](https://neo4j.com/docs/aura/platform/api/specification/)
1818

19-
## Components
19+
## 📦 Components
2020

21-
### Tools
21+
### 🔧 Tools
2222

2323
The server offers these core tools:
2424

25-
#### Instance Management
25+
#### 🛠️ Instance Management
2626
- `list_instances`
2727
- List all Neo4j Aura database instances
2828
- No input required
@@ -92,7 +92,7 @@ The server offers these core tools:
9292
- `instance_id` (string): ID of the instance to delete
9393
- Returns: Deletion status information
9494

95-
#### Tenant/Project Management
95+
#### 🏢 Tenant/Project Management
9696
- `list_tenants`
9797
- List all Neo4j Aura tenants/projects
9898
- No input required
@@ -104,15 +104,16 @@ The server offers these core tools:
104104
- `tenant_id` (string): ID of the tenant/project to retrieve
105105
- Returns: Detailed information about the tenant/project
106106

107-
## Usage with Claude Desktop
108107

109-
### Installation
108+
## 🔧 Usage with Claude Desktop
109+
110+
### 💾 Installation
110111

111112
```bash
112113
pip install mcp-neo4j-aura-manager
113114
```
114115

115-
### Configuration
116+
### ⚙️ Configuration
116117

117118
Add the server to your `claude_desktop_config.json`:
118119

@@ -121,7 +122,7 @@ Add the server to your `claude_desktop_config.json`:
121122
"neo4j-aura": {
122123
"command": "uvx",
123124
"args": [
124-
"mcp-neo4j-aura-manager",
125+
"mcp-neo4j-aura-manager==0.2.0",
125126
"--client-id",
126127
"<your-client-id>",
127128
"--client-secret",
@@ -137,55 +138,99 @@ Alternatively, you can set environment variables:
137138
"mcpServers": {
138139
"neo4j-aura": {
139140
"command": "uvx",
140-
"args": [ "mcp-neo4j-aura-manager" ],
141+
"args": [ "mcp-neo4j-aura-manager==0.2.0" ],
141142
"env": {
142143
"NEO4J_AURA_CLIENT_ID": "<your-client-id>",
143144
"NEO4J_AURA_CLIENT_SECRET": "<your-client-secret>"
144145
}
145146
}
146147
}
147148
```
148-
### Development
149149

150-
For development, you can run the server directly:
150+
### 🐳 Using with Docker
151151

152152
```json
153153
"mcpServers": {
154154
"neo4j-aura": {
155-
"command": "uv",
156-
"args": [
157-
"--directory",
158-
"path/to/repo/src/mcp_neo4j_aura_manager",
159-
"run",
160-
"mcp-neo4j-aura-manager",
161-
"--client-id",
162-
"<your-client-id>",
163-
"--client-secret",
164-
"<your-client-secret>"
165-
]
166-
}
155+
"command": "docker",
156+
"args": [
157+
"run",
158+
"--rm",
159+
"-e", "NEO4J_AURA_CLIENT_ID=${NEO4J_AURA_CLIENT_ID}",
160+
"-e", "NEO4J_AURA_CLIENT_SECRET=${NEO4J_AURA_CLIENT_SECRET}",
161+
"mcp-neo4j-aura-manager:0.2.0"
162+
]
163+
}
167164
}
168165
```
169-
## Usage Examples
170166

171-
### Give overview over my tenants
167+
## 📝 Usage Examples
168+
169+
### 🔍 Give overview over my tenants
172170

173171
![](docs/images/mcp-aura-tenant-overview.png)
174172

175-
### Find an instance by name
173+
### 🔎 Find an instance by name
176174

177175
![](docs/images/mcp-aura-find-by-name.png)
178176

179-
### List instances and find paused instance
177+
### 📋 List instances and find paused instance
180178
![](docs/images/mcp-aura-find-paused.png)
181179

182-
### Resume paused instances
180+
### ▶️ Resume paused instances
183181
![](docs/images/mcp-aura-list-resume.png)
184182

185-
### Create a new instance
183+
### Create a new instance
186184

187185
![](docs/images/mcp-aura-create-instance.png)
188186

189-
## License
187+
## 🚀 Development
188+
189+
### 📦 Prerequisites
190+
191+
1. Install `uv` (Universal Virtualenv):
192+
```bash
193+
# Using pip
194+
pip install uv
195+
196+
# Using Homebrew on macOS
197+
brew install uv
198+
199+
# Using cargo (Rust package manager)
200+
cargo install uv
201+
```
202+
203+
2. Clone the repository and set up development environment:
204+
```bash
205+
# Clone the repository
206+
git clone https://github.com/yourusername/mcp-neo4j-aura-manager.git
207+
cd mcp-neo4j-aura-manager
208+
209+
# Create and activate virtual environment using uv
210+
uv venv
211+
source .venv/bin/activate # On Unix/macOS
212+
.venv\Scripts\activate # On Windows
213+
214+
# Install dependencies including dev dependencies
215+
uv pip install -e ".[dev]"
216+
```
217+
218+
### 🐳 Docker
219+
220+
Build and run the Docker container:
221+
222+
```bash
223+
# Build the image
224+
docker build -t mcp-neo4j-aura-manager:<version> .
225+
226+
# Run the container
227+
docker run -e NEO4J_AURA_CLIENT_ID="your-client-id" \
228+
-e NEO4J_AURA_CLIENT_SECRET="your-client-secret" \
229+
mcp-neo4j-aura-manager:<version>
230+
```
231+
232+
## 📄 License
190233

191234
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
235+
236+

0 commit comments

Comments
 (0)