@datalanguage/datagraphs-mcp-server
v1.3.0
Published
MCP server for interacting with Data Graphs knowledge graph platform
Readme
@datalanguage/datagraphs-mcp-server
An MCP (Model Context Protocol) server that exposes the Data Graphs knowledge graph platform to AI assistants such as Claude, ChatGPT, Cursor, and other MCP-compatible clients.
Prerequisites
- Node.js 18+
- A Data Graphs project with an API key
Installation
npm install @datalanguage/datagraphs-mcp-serverOr run directly with npx:
npx @datalanguage/datagraphs-mcp-serverConfiguration
Obtaining Credentials
To generate the API key, client ID, and client secret:
- Sign in to Data Graphs and open your project.
- Click Manage Project.
- Go to Applications and click Add Application.
- Once the application is created, the API key, client ID, and client secret will be displayed.
Important: The client secret is shown only once at creation time. Copy it immediately and store it somewhere secure — if lost, you will need to rotate the credentials or create a new application to obtain a new secret.
Your project ID can also be found on the project page in Data Graphs.
Environment Variables
The server reads credentials from environment variables:
| Variable | Required | Description |
| -------------------------- | -------- | ------------------------------------------------- |
| DATAGRAPHS_PROJECT_ID | Yes | Your Data Graphs project ID |
| DATAGRAPHS_API_KEY | Yes | API key for authentication |
| DATAGRAPHS_CLIENT_ID | For GQL | OAuth client ID (required for graph_search) |
| DATAGRAPHS_CLIENT_SECRET | For GQL | OAuth client secret (required for graph_search) |
MCP Client Setup
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"datagraphs": {
"command": "npx",
"args": ["-y", "@datalanguage/datagraphs-mcp-server"],
"env": {
"DATAGRAPHS_PROJECT_ID": "your-project-id",
"DATAGRAPHS_API_KEY": "your-api-key"
}
}
}
}Claude Code
claude mcp add datagraphs -- npx -y @datalanguage/datagraphs-mcp-serverThen set the required environment variables in your shell before launching Claude Code.
Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"datagraphs": {
"command": "npx",
"args": ["-y", "@datalanguage/datagraphs-mcp-server"],
"env": {
"DATAGRAPHS_PROJECT_ID": "your-project-id",
"DATAGRAPHS_API_KEY": "your-api-key"
}
}
}
}Tools
The server provides the following tools:
list_datasets
List all datasets available in the Data Graphs project.
| Parameter | Type | Description |
| ---------- | ------ | -------------------------- |
| pageSize | number | Number of results per page |
| pageNo | number | Page number to return |
search_concepts
Search for concepts (nodes) across datasets using text queries, filters, and facets.
| Parameter | Type | Description |
| ------------------- | -------- | -------------------------------------------------------------- |
| dataset | string | Dataset ID to search (defaults to all datasets) |
| q | string | Text search query |
| filter | string | NQL filter expression |
| facets | string[] | Property names to return facet counts for |
| pageSize | number | Number of results per page (default 10) |
| pageNo | number | Page number to return (default 1) |
| sort | string | Sort order, e.g. name:asc,modified:desc |
| embed | string[] | Relationship properties to embed (use ["_all"] to embed all) |
| fields | string[] | Specific fields to return for each concept |
| includeDateFields | boolean | Include created and last modified dates |
get_concept
Get a single concept (node) by its URN identifier.
| Parameter | Type | Description |
| ------------------- | -------- | -------------------------------------------------------------- |
| id | string | Concept URN, e.g. urn:project:Type:identifier |
| embed | string[] | Relationship properties to embed (use ["_all"] to embed all) |
| fields | string[] | Specific fields to return |
| includeDateFields | boolean | Include created and last modified dates |
graph_search
Execute a GQL graph query against the knowledge graph. Requires DATAGRAPHS_CLIENT_ID and DATAGRAPHS_CLIENT_SECRET.
| Parameter | Type | Description |
| --------- | ------ | ---------------------------------------------------- |
| query | string | GQL query, e.g. MATCH (n:Person) RETURN n LIMIT 10 |
search_transactions
Search the transaction/audit log for the project.
| Parameter | Type | Description |
| ---------- | ------ | ------------------------------- |
| filter | string | NQL filter expression |
| pageSize | number | Number of results per page |
| pageNo | number | Page number to return |
| sort | string | Sort order, e.g. property:asc |
get_model
Get the currently active data model for the project. Takes no parameters.
Development
git clone <repo-url>
cd datagraphs-client-mcp-server
npm install
npm startLicense
UNLICENSED
