@kozmos-tech/inhalt 0.1.0

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.
Files changed (3) hide show
  1. package/README.md +54 -0
  2. package/bin/cli.js +21 -0
  3. package/package.json +34 -0
package/README.md ADDED
@@ -0,0 +1,54 @@
1
+ # @kozmos-tech/inhalt
2
+
3
+ MCP bridge for [Inhalt](https://inhalt.tech) — the CMS your AI tools can run.
4
+
5
+ Inhalt's MCP server is hosted and remote. This package is a tiny launcher that
6
+ bridges any stdio MCP client to the hosted endpoint, so clients that only speak
7
+ stdio (or launch servers via `npx`) can connect with one config block.
8
+
9
+ ## Usage
10
+
11
+ Add Inhalt to your MCP client config:
12
+
13
+ ```json
14
+ {
15
+ "mcpServers": {
16
+ "inhalt": {
17
+ "command": "npx",
18
+ "args": ["-y", "@kozmos-tech/inhalt"]
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ That's it. On first run the bridge opens a browser to sign in (OAuth); after that
25
+ your session is cached. The client then sees Inhalt's content tools — read and
26
+ query the schema, list and get entries, create, patch, publish, and delete.
27
+
28
+ ## Authentication
29
+
30
+ - **OAuth (default):** the first run opens a browser to authorize the connection.
31
+ - **API key:** for scripts and headless setups, mint a scoped key in the Inhalt
32
+ dashboard and pass it as a bearer token via your client's header settings.
33
+
34
+ ## Self-hosting
35
+
36
+ Point the bridge at your own Inhalt instance with an environment variable:
37
+
38
+ ```json
39
+ {
40
+ "mcpServers": {
41
+ "inhalt": {
42
+ "command": "npx",
43
+ "args": ["-y", "@kozmos-tech/inhalt"],
44
+ "env": { "INHALT_MCP_URL": "https://cms.example.com/mcp" }
45
+ }
46
+ }
47
+ }
48
+ ```
49
+
50
+ `INHALT_MCP_URL` defaults to `https://inhalt.tech/mcp`.
51
+
52
+ ## License
53
+
54
+ MIT
package/bin/cli.js ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ // Thin stdio -> remote bridge for the Inhalt MCP server.
3
+ //
4
+ // Inhalt's MCP server is remote (Streamable HTTP at https://inhalt.tech/mcp,
5
+ // OAuth + API-key auth). This launcher execs the mcp-remote CLI against that
6
+ // endpoint so any stdio-only client can connect via `npx @kozmos-tech/inhalt`.
7
+ // Self-hosters can point at their own instance with INHALT_MCP_URL.
8
+ import { spawn } from "node:child_process"
9
+ import { createRequire } from "node:module"
10
+
11
+ const require = createRequire(import.meta.url)
12
+ const url = process.env.INHALT_MCP_URL ?? "https://inhalt.tech/mcp"
13
+
14
+ // Resolve mcp-remote's CLI entry from its own package.json "bin" so we don't
15
+ // hardcode a dist path that could move between releases.
16
+ const pkg = require("mcp-remote/package.json")
17
+ const binRel = typeof pkg.bin === "string" ? pkg.bin : pkg.bin["mcp-remote"]
18
+ const cli = require.resolve(`mcp-remote/${binRel}`)
19
+
20
+ const child = spawn(process.execPath, [cli, url, ...process.argv.slice(2)], { stdio: "inherit" })
21
+ child.on("exit", (code) => process.exit(code ?? 0))
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@kozmos-tech/inhalt",
3
+ "version": "0.1.0",
4
+ "description": "MCP bridge for Inhalt — the CMS your AI tools can run. Connects any stdio MCP client to the hosted Inhalt server.",
5
+ "mcpName": "io.github.kozmos-tech/inhalt",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "bin": {
9
+ "inhalt-mcp": "bin/cli.js"
10
+ },
11
+ "files": [
12
+ "bin",
13
+ "README.md"
14
+ ],
15
+ "keywords": [
16
+ "mcp",
17
+ "modelcontextprotocol",
18
+ "cms",
19
+ "inhalt"
20
+ ],
21
+ "engines": {
22
+ "node": ">=18"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/kozmos-tech/inhalt.git",
27
+ "directory": "packages/mcp"
28
+ },
29
+ "homepage": "https://inhalt.tech",
30
+ "bugs": "https://github.com/kozmos-tech/inhalt/issues",
31
+ "dependencies": {
32
+ "mcp-remote": "^0.1.38"
33
+ }
34
+ }