
datuma_k
io.github.marthvonPublished by GitHub account marthvonv1.0.0Updated Oct 24, 2026
Query, validate, preview, and generate source from *.dtct data contracts and *.ngin templates.
Overview
A local MCP server that lets an assistant query, validate, preview and generate source from datuma_k data contracts and templates in a project.
- What you can do
- List project directories and contract/template paths, optionally rooted at a given directory. Query the contract catalog by trait, model, field, attribute or type. Validate contracts and templates, requiring the project's keyword file. Preview a generation plan without writing anything. Generate source from templates, writing generated spans. Get advice on when to use ngin templates versus handwritten code, and infer patterns such as traits, widgets, association notes and aliases. Read bundled language and practice resources for dtct, ngin and standards.
- When to use it
- Use it when working in a repository that uses datuma_k data contracts and ngin templates and you want an assistant to inspect the catalog, check contracts, dry-run generation, or scaffold new models and fields.
- Requirements
- Runs locally over stdio via npx from the npm package, so Node.js is needed. The datuma_k binary must be installed and on PATH, or its absolute path supplied in the DATUMA_K environment variable. The process working directory should be the datuma_k project directory containing the .env file, or a root must be passed on each tool call.
Installation
In SourceWeft
- Open datuma_k in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
datuma_k MCP
stdio MCP server for agents using the installed datuma_k binary in an app repo. It does not link the compiler crate. Set DATUMA_K to the binary if it is not on PATH.
Install
Published to npm as @marthvon/datuma-k-mcp and to the MCP Registry as io.github.marthvon/datuma-k.
Cursor / Claude example (mcp.json):
datuma_k must be on PATH. If it is not, point DATUMA_K at the binary:
From source
Then use "command": "node" with "args": ["/ABS/PATH/TO/datuma_k/mcp/dist/index.js"].
The process cwd should be the datuma_k project (the directory with .env), or pass root on each tool call.
Tools
Resources
datuma://language/dtctdatuma://language/ngindatuma://language/standardsdatuma://docs/keywordsdatuma://docs/practicesdatuma://docs/when-ngin
Prompts
add-model, add-field, scaffold-ngin, should-use-ngin, infer-contract-patterns
Tests
Publishing
Two registries, in this order. npm hosts the tarball; the MCP Registry hosts only metadata and verifies it against the published npm package, so npm must go first or the second publish fails with Registry validation failed for package.
The io.github.marthvon/ prefix is not cosmetic: GitHub device-flow auth only grants that namespace. A different prefix needs DNS or HTTP auth.
One-time setup
npm requires 2FA to publish. If the account does not have it, npm publish fails with 403 ... Two-factor authentication or granular access token with bypass 2fa enabled is required, before it ever looks at the tarball. Check with npm profile get; enable with npm profile enable-2fa auth-and-writes or on npmjs.com, and keep the recovery codes.
Release
Bump the version in three places — the registry rejects a version it has already seen, and a mismatch between the npm package version and server.json packages[0].version fails verification:
package.json→versionserver.json→versionserver.json→packages[0].version
Then:
mcp-publisher login persists a token, so day-to-day releases are npm publish then mcp-publisher publish.
Verify:
What ships
files in package.json limits the tarball to dist, resources, and README.md. resources/ is required at runtime — server.ts resolves it as dist/../resources — so dropping it from files produces a package that installs cleanly and fails on every resource read. Confirm with npm pack --dry-run before publishing.
Troubleshooting
Source: mcp/README.md at commit 1e55220
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts