Skip to content

Commit 008ee42

Browse files
authored
Merge pull request #79 from neo4j-contrib/cypher-add-dxt
Cypher add .dxt file generation to release
2 parents d6a0a39 + 64f7dfe commit 008ee42

File tree

4 files changed

+177
-0
lines changed

4 files changed

+177
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Generate and Upload DXT File
2+
3+
on:
4+
push:
5+
tags:
6+
- mcp-neo4j-cypher-v*
7+
workflow_dispatch: # Allows manual triggering of the workflow
8+
inputs:
9+
release_tag:
10+
description: 'Release tag to add .dxt file to (e.g., mcp-neo4j-cypher-v1.0.0)'
11+
required: true
12+
type: string
13+
14+
permissions:
15+
contents: write
16+
17+
jobs:
18+
generate-dxt:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
with:
25+
# For manual runs, checkout the specific tag
26+
ref: ${{ github.event.inputs.release_tag || github.event.release.tag_name }}
27+
28+
- name: Setup Node.js for dxt
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: '18'
32+
33+
- name: Install dxt
34+
run: npm install -g dxt
35+
36+
- name: Generate .dxt file
37+
run: |
38+
cd servers/mcp-neo4j-cypher/
39+
dxt pack
40+
41+
- name: Upload .dxt file to release
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
run: |
45+
# Use the input tag for manual runs, or the event tag for automatic runs
46+
TAG_NAME="${{ github.event.inputs.release_tag || github.event.release.tag_name }}"
47+
gh release upload "$TAG_NAME" \
48+
servers/mcp-neo4j-cypher/*.dxt \
49+
--clobber

servers/mcp-neo4j-cypher/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
### Changed
66

77
### Added
8+
* Add .dxt file for Cypher MCP server
9+
* Add .dxt file generation to Cypher MCP Publish GitHub action
810

911
## v0.2.4
1012

servers/mcp-neo4j-cypher/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ This is useful when you need to connect to multiple Neo4j databases or instances
3939

4040
## 🔧 Usage with Claude Desktop
4141

42+
### Using DXT
43+
Download the latest `.dxt` file from the [releases page](https://github.com/neo4j-contrib/mcp-neo4j/releases/latest) and install it with your MCP client.
44+
45+
Or use this direct link:
46+
[Download mcp-neo4j-cypher.dxt](https://github.com/neo4j-contrib/mcp-neo4j/releases/latest/download/mcp-neo4j-cypher.dxt)
47+
4248
### 💾 Released Package
4349

4450
Can be found on PyPi https://pypi.org/project/mcp-neo4j-cypher/
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
{
2+
"dxt_version": "0.1",
3+
"name": "mcp-neo4j-cypher",
4+
"display_name": "Neo4j Cypher MCP Server",
5+
"version": "0.2.4",
6+
"description": "Execute read and write Cypher queries on your Neo4j database.",
7+
"long_description": "A Model Context Protocol (MCP) server that provides tools for interacting with Neo4j graph databases using Cypher queries. Supports both read and write operations with proper validation and error handling.",
8+
"author": {
9+
"name": "Alexander Gilmore"
10+
},
11+
"keywords": ["neo4j", "cypher", "graph", "database", "mcp", "ai", "llm"],
12+
"categories": ["database", "graph", "query"],
13+
"repository": {
14+
"type": "git",
15+
"url": "https://github.com/neo4j-contrib/mcp-neo4j/tree/main/servers/mcp-neo4j-cypher"
16+
},
17+
"documentation": "https://github.com/neo4j-contrib/mcp-neo4j/blob/main/servers/mcp-neo4j-cypher/README.md",
18+
"support": "https://github.com/neo4j-contrib/mcp-neo4j/issues",
19+
"server": {
20+
"type": "python",
21+
"entry_point": "src/mcp_neo4j_cypher/__init__.py",
22+
"mcp_config": {
23+
"command": "uvx",
24+
"args": ["mcp-neo4j-cypher"],
25+
"env": {
26+
"NEO4J_URI": "${user_config.neo4j_uri}",
27+
"NEO4J_USERNAME": "${user_config.neo4j_username}",
28+
"NEO4J_PASSWORD": "${user_config.neo4j_password}",
29+
"NEO4J_DATABASE": "${user_config.neo4j_database}",
30+
"NEO4J_TRANSPORT": "${user_config.transport}",
31+
"NEO4J_NAMESPACE": "${user_config.neo4j_namespace}",
32+
"NEO4J_MCP_SERVER_HOST": "${user_config.mcp_server_host}",
33+
"NEO4J_MCP_SERVER_PORT": "${user_config.mcp_server_port}"
34+
}
35+
}
36+
},
37+
"tools": [
38+
{
39+
"name": "get_neo4j_schema",
40+
"description": "Retrieve the schema of the Neo4j database, including node labels, properties, and relationships"
41+
},
42+
{
43+
"name": "read_neo4j_cypher",
44+
"description": "Execute read-only Cypher queries (MATCH, RETURN, etc.) on the Neo4j database"
45+
},
46+
{
47+
"name": "write_neo4j_cypher",
48+
"description": "Execute write Cypher queries (CREATE, MERGE, SET, DELETE, etc.) on the Neo4j database"
49+
}
50+
],
51+
"prompts": [],
52+
"tools_generated": false,
53+
"license": "MIT",
54+
"user_config": {
55+
"neo4j_username": {
56+
"type": "string",
57+
"title": "Neo4j Username",
58+
"description": "The username for logging into Neo4j",
59+
"default": "neo4j",
60+
"required": true,
61+
"sensitive": true
62+
},
63+
"neo4j_password": {
64+
"type": "string",
65+
"title": "Neo4j Password",
66+
"description": "The password for logging into Neo4j",
67+
"default": "password",
68+
"required": true,
69+
"sensitive": true
70+
},
71+
"neo4j_database": {
72+
"type": "string",
73+
"title": "Neo4j Database",
74+
"description": "The database to use in Neo4j, defaults to neo4j",
75+
"default": "neo4j",
76+
"required": false,
77+
"sensitive": true
78+
},
79+
"neo4j_uri": {
80+
"type": "string",
81+
"title": "Neo4j URI",
82+
"description": "The URI for connecting to Neo4j",
83+
"default": "bolt://localhost:7687",
84+
"required": true,
85+
"sensitive": true
86+
},
87+
"neo4j_namespace": {
88+
"type": "string",
89+
"title": "Namespace",
90+
"description": "An optional namespace for the MCP server tools",
91+
"default": "",
92+
"required": false,
93+
"sensitive": false
94+
},
95+
"transport": {
96+
"type": "string",
97+
"title": "Transport",
98+
"description": "The MCP transport, defaults to stdio",
99+
"default": "stdio",
100+
"required": false,
101+
"sensitive": false
102+
},
103+
"mcp_server_host": {
104+
"type": "string",
105+
"title": "MCP Server Host",
106+
"description": "The host for the MCP server, if not using stdio. Defaults to 127.0.0.1",
107+
"default": "127.0.0.1",
108+
"required": false,
109+
"sensitive": false
110+
},
111+
"mcp_server_port": {
112+
"type": "number",
113+
"title": "MCP Server Port",
114+
"description": "The port for the MCP server, if not using stdio. Defaults to 8000",
115+
"default": 8000,
116+
"required": false,
117+
"sensitive": false
118+
}
119+
}
120+
}

0 commit comments

Comments
 (0)