StatelyDB MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@StatelyDB MCP Server Validate this StatelyDB schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
StatelyDB MCP Server
A Model Context Protocol (MCP) server that integrates with the StatelyDB CLI to enable AI assistants to validate and manage StatelyDB schemas.
Prerequisites
Node.js: Version 20 or higher
Related MCP server: MCP Server Demo
Installation
Configuring for Claude Code
Run claude mcp add statelydb -- npx -y @stately-cloud/statelydb-mcp-server@latest to add the MCP server to your Claude Code.
Configuring with Claude Desktop
To use this MCP server with Claude Desktop, follow these steps:
Open your Claude Desktop App configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration to the
mcpServerssection:
{
"mcpServers": {
"statelydb": {
"command": "npx",
"args": ["-y", "@stately-cloud/statelydb-mcp-server@latest"]
}
}
}Save the file and restart Claude Desktop.
Manually install from npm registry
Install the server globally:
npm install -g @stately-cloud/statelydb-mcp-serverAlternatively, you can run it directly with npx:
npx @stately-cloud/statelydb-mcp-server@latestFrom local source
To install directly from your local source code:
Clone or download this repository
Navigate to the project directory
Install dependencies and link the package locally:
# Install dependencies
npm install
# Build the TypeScript code
npm run build
# Create a global symlink to your local code
npm linkThis will create a global statelydb-mcp-server command that uses your local code.
To unlink later, you can run:
npm unlink statelydb-mcp-serverAvailable Tools
This MCP server exposes the following tools:
1. validate-schema
Validates a StatelyDB elastic schema definition.
Input:
schema: String containing the schema definition
Output:
Success: "Schema is valid."
Failure: "Schema is invalid. Error: [error message]"
Example:
Could you validate this StatelyDB schema?
import {
itemType,
string,
timestampSeconds,
uint,
uuid,
} from "@stately-cloud/schema";
/** A user of our fantastic new system. */
itemType("User", {
keyPath: "/user-:id",
fields: {
id: {
type: uuid,
initialValue: "uuid",
},
displayName: {
type: string,
},
email: {
type: string,
},
lastLoginDate: {
type: timestampSeconds,
},
numLogins: {
type: uint,
},
},
});2. validate-migrations
Validates that schema migrations are valid. This is the same as running stately schema put in dry-run mode.
Input:
schema: String containing the schema definitionschemaId: Your StatelyDB schema ID
Output:
Success: "Migrations are valid."
Failure: "Migrations are invalid. Error: [error message]"
Example:
Could you check if this StatelyDB schema has valid migrations?
import {
itemType,
string,
timestampSeconds,
uint,
uuid,
} from "@stately-cloud/schema";
itemType("User", {
keyPath: "/user-:id",
fields: {
id: {
type: uuid,
initialValue: "uuid",
},
displayName: {
type: string,
},
email: {
type: string,
},
lastLoginDate: {
type: timestampSeconds,
},
loginCount: {
type: uint,
},
},
});
migrate(1, "Rename the numLogins field", (m) => {
m.changeType("User", (t) => {
t.renameField("numLogins", "loginCount");
});
});
3. attempt-login
Initiates the Stately login process, providing a URL for authentication.
Input:
None
Output:
URL for authentication: "Please visit this URL to complete the authentication process: [url]"
Example:
Could you help me log into StatelyDB?4. verify-login
Verifies if the user is currently logged in to StatelyDB.
Input:
None
Output:
Success: "Login verified. [user information]"
Failure: "Not logged in."
Example:
Am I currently logged into StatelyDB?5. schema-put
Publishes a schema to StatelyDB.
Input:
schema: String containing the schema definitionschemaId: Your StatelyDB schema ID
Output:
Success: "Schema published successfully: [output]"
Failure: "Failed to publish schema: [error message]"
Example:
Publish this StatelyDB schema:
import {
itemType,
string,
timestampSeconds,
uint,
uuid,
} from "@stately-cloud/schema";
/** A user of our fantastic new system. */
itemType("User", {
keyPath: "/user-:id",
fields: {
id: {
type: uuid,
initialValue: "uuid",
},
displayName: {
type: string,
},
email: {
type: string,
},
lastLoginDate: {
type: timestampSeconds,
},
numLogins: {
type: uint,
},
},
});6. schema-generate
Generates client code for a specified language from a StatelyDB schema.
Input:
schemaId: Your StatelyDB schema IDlanguage: One of "typescript", "python", "ruby", "go"
Output:
List of generated files with their contents
Example:
Could you generate TypeScript client code for schema id 1234?Security Considerations
This MCP server runs local commands on your machine. Always review schemas before publishing them.
The server requires access to the Stately CLI and your Stately authentication credentials.
No data is sent to external services except through the official Stately CLI.
License
Apache 2.0
Available Tools
6 toolsstatelydb-attempt-loginB
Initiate StatelyDB login process and get an authorization URL
Inputs: no named parameters.
statelydb-schema-generateB
Generate client code from a published StatelyDB schema version definition. Supported languages: TypeScript, Python, Ruby, Go.
Inputs: language (required), schemaId (required).
statelydb-schema-putC
Publish an elastic schema version definition to StatelyDB
Inputs: schema (required), schemaId (required).
statelydb-validate-migrationsC
Validate schema migrations inside of a StatelyDB elastic schema definition.
Inputs: schema (required), schemaId (required).
statelydb-validate-schemaC
Validate a StatelyDB elastic schema definition.
Inputs: schema (required).
statelydb-verify-loginA
Verify if the user is logged in to StatelyDB. This command can also tell you what organizations, stores, and schemas you have access to.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct action: validating schemas vs migrations, initiating vs verifying login, publishing, and code generation. The two validate tools could be momentarily confused, but their descriptions clearly differentiate schema-level from migration-level validation.
All tools share the 'statelydb-' prefix and use hyphenated lowercase, which is readable. Minor deviation: validate/attempt/verify tools use verb_noun ordering while schema-put and schema-generate use noun_verb ordering.
Six tools is well-scoped for a schema validation, publishing, and code-generation workflow. Each tool earns its place with no redundancy.
The core validate → publish → generate workflow is covered, plus login handling. However, there is no dedicated tool to read/get or delete an existing schema version, and listing access depends on verify-login, leaving notable gaps for full lifecycle management.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that supports STDIO, SSE and Streamable HTTP protocols for AI model interactions.10 npm1MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server implementation that can be run directly or through Docker, enabling AI assistants to interact with external systems through the MCP standard.2-
- AlicenseNot gradedqualityCmaintenanceMCP server for PostgreSQL, MySQL, and SQLite that gives AI assistants secure database access via the Model Context Protocol.47 npm5MIT
- FlicenseNot gradedqualityCmaintenanceModel Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.-