graphjin 3.2.5 → 3.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -101
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,78 +40,77 @@ docker pull dosco/graphjin
|
|
|
40
40
|
|
|
41
41
|
## Try It Now
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
graphjin mcp --demo --path examples/webshop/config
|
|
46
|
-
graphjin mcp info --demo # Copy output to Claude Desktop config
|
|
43
|
+
This is a quick way to try out GraphJin we'll use the `--demo` command which automatically
|
|
44
|
+
starts a database using docker and loads it with demo data.
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
Download the source which contains the `webshop` demo
|
|
47
|
+
```
|
|
48
|
+
git clone https://github.com/dosco/graphjin
|
|
49
|
+
cd graphjin
|
|
51
50
|
```
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### Option A: Local Mode (Starts with Claude)
|
|
58
|
-
|
|
59
|
-
1. **Install GraphJin**
|
|
60
|
-
```bash
|
|
61
|
-
npm install -g graphjin
|
|
62
|
-
```
|
|
52
|
+
Now launch the Graphjin service that you installed using the install options above
|
|
53
|
+
```bash
|
|
54
|
+
graphjin serve --demo --path examples/webshop
|
|
55
|
+
```
|
|
63
56
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
You'll see output like this:
|
|
58
|
+
```
|
|
59
|
+
GraphJin started
|
|
60
|
+
───────────────────────
|
|
61
|
+
Web UI: http://localhost:8080/
|
|
62
|
+
GraphQL: http://localhost:8080/api/v1/graphql
|
|
63
|
+
REST API: http://localhost:8080/api/v1/rest/
|
|
64
|
+
MCP: http://localhost:8080/api/v1/mcp
|
|
65
|
+
|
|
66
|
+
Claude Desktop Configuration
|
|
67
|
+
────────────────────────────
|
|
68
|
+
Add to claude_desktop_config.json:
|
|
69
|
+
|
|
70
|
+
{
|
|
71
|
+
"mcpServers": {
|
|
72
|
+
"Webshop Development": {
|
|
73
|
+
"command": "/path/to/graphjin",
|
|
74
|
+
"args": ["mcp", "--server", "http://localhost:8080"]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
68
79
|
|
|
69
|
-
|
|
70
|
-
- Open Claude Desktop settings
|
|
71
|
-
- Edit `claude_desktop_config.json`
|
|
72
|
-
- Paste the JSON output
|
|
73
|
-
- Restart Claude Desktop
|
|
80
|
+
Copy the JSON config shown and add it to your Claude Desktop config file (see below for file location). You can also click `File > Settings > Developer` to get to it in Claude Desktop. You will also need to **Restart Claude Desktop**
|
|
74
81
|
|
|
75
|
-
|
|
82
|
+
| OS | Possible config file locations |
|
|
83
|
+
|----|---------------------|
|
|
84
|
+
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
85
|
+
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
76
86
|
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
graphjin serve --path /path/to/config
|
|
80
|
-
```
|
|
87
|
+
## Getting started
|
|
81
88
|
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# For local server
|
|
85
|
-
graphjin mcp info --server 127.0.0.1:8080
|
|
89
|
+
To use GraphJin with your own databases you have to first create a new GraphJin app, then configure it using its config files and then launch GraphJin.
|
|
86
90
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
**Step 1: Create New GraphJin App**
|
|
92
|
+
```bash
|
|
93
|
+
graphjin new my-app
|
|
94
|
+
```
|
|
90
95
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
96
|
+
**Step 2: Start the GraphJin Service**
|
|
97
|
+
```bash
|
|
98
|
+
graphjin serve --path ./my-app
|
|
99
|
+
```
|
|
94
100
|
|
|
95
|
-
|
|
101
|
+
**Step 3: Add to Claude Desktop config file**
|
|
96
102
|
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
graphjin mcp --demo --path examples/webshop/config
|
|
100
|
-
```
|
|
103
|
+
Copy paste the Claude Desktop Config provided by `graphjin serve` into the Claude Desktop MCP config file. How to do this has been defined clearly above in the `Try it Now` section.
|
|
101
104
|
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
graphjin mcp info --demo --path examples/webshop/config
|
|
105
|
-
```
|
|
105
|
+
**Step 4: Restart Claude Desktop**
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- "Which customers have returned items?"
|
|
107
|
+
**Step 5: Ask Claude questions like:**
|
|
108
|
+
- "What tables are in the database?"
|
|
109
|
+
- "Show me all products under $50"
|
|
110
|
+
- "List customers and their purchases"
|
|
111
|
+
- "What's the total revenue by product?"
|
|
112
|
+
- "Find products with 'wireless' in the name"
|
|
113
|
+
- "Add a new product called 'USB-C Cable' for $19.99"
|
|
115
114
|
|
|
116
115
|
## How It Works
|
|
117
116
|
|
|
@@ -184,7 +183,7 @@ Works from Node.js, Go, or any WebSocket client.
|
|
|
184
183
|
|
|
185
184
|
## MCP Tools
|
|
186
185
|
|
|
187
|
-
GraphJin exposes
|
|
186
|
+
GraphJin exposes several tools that guide AI models to write valid queries. Key tools: `list_tables` and `describe_table` for schema discovery, `get_query_syntax` for learning the DSL, `execute_graphql` for running queries, and `execute_saved_query` for production-approved queries. Prompts like `write_query` and `fix_query_error` help models construct and debug queries.
|
|
188
187
|
|
|
189
188
|
## Database Support
|
|
190
189
|
|
|
@@ -219,46 +218,6 @@ roles:
|
|
|
219
218
|
|
|
220
219
|
**Response caching** - Redis with in-memory fallback. Automatic cache invalidation.
|
|
221
220
|
|
|
222
|
-
## CLI Reference
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# Run MCP server (stdio mode for Claude Desktop)
|
|
226
|
-
graphjin mcp --path /path/to/config
|
|
227
|
-
|
|
228
|
-
# Show Claude Desktop config JSON
|
|
229
|
-
graphjin mcp info
|
|
230
|
-
|
|
231
|
-
# Run with temporary database container
|
|
232
|
-
graphjin mcp --demo --path examples/webshop/config
|
|
233
|
-
|
|
234
|
-
# Show demo mode config JSON
|
|
235
|
-
graphjin mcp info --demo
|
|
236
|
-
|
|
237
|
-
# Keep data between restarts
|
|
238
|
-
graphjin mcp --demo --persist
|
|
239
|
-
|
|
240
|
-
# Override database type
|
|
241
|
-
graphjin mcp --demo --db mysql
|
|
242
|
-
|
|
243
|
-
# Set auth context
|
|
244
|
-
graphjin mcp --user-id admin --user-role admin
|
|
245
|
-
|
|
246
|
-
# HTTP server with demo database
|
|
247
|
-
graphjin serve --demo --path examples/webshop/config
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
**Claude Desktop config** (`claude_desktop_config.json`):
|
|
251
|
-
```json
|
|
252
|
-
{
|
|
253
|
-
"mcpServers": {
|
|
254
|
-
"my-database": {
|
|
255
|
-
"command": "graphjin",
|
|
256
|
-
"args": ["mcp", "--path", "/path/to/config"],
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
```
|
|
261
|
-
|
|
262
221
|
## Also a GraphQL API
|
|
263
222
|
|
|
264
223
|
GraphJin works as a traditional API too - use it from Go or as a standalone service.
|
|
@@ -284,8 +243,9 @@ Built-in web UI at `http://localhost:8080` for query development.
|
|
|
284
243
|
|
|
285
244
|
## Documentation
|
|
286
245
|
|
|
287
|
-
|
|
288
|
-
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
- [Configuration Reference](CONFIG.md)
|
|
289
249
|
- [Feature Reference](docs/FEATURES.md)
|
|
290
250
|
- [Go Examples](https://pkg.go.dev/github.com/dosco/graphjin/core#pkg-examples)
|
|
291
251
|
|