tabbied-mcp 0.2.2 → 0.2.4
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/LICENSE +21 -21
- package/README.md +147 -83
- package/dist/index.js.map +1 -1
- package/dist/info.d.ts +1 -1
- package/dist/info.js +10 -9
- package/dist/info.js.map +1 -1
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.js +7 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/render.js +197 -99
- package/dist/node/render.js.map +1 -1
- package/dist/node/resources.js +37 -23
- package/dist/node/resources.js.map +1 -1
- package/dist/server.js +9 -1
- package/dist/server.js.map +1 -1
- package/dist/stdio.js +2 -0
- package/dist/stdio.js.map +1 -1
- package/dist/templates.js +143 -27
- package/dist/templates.js.map +1 -1
- package/dist/tools.js +53 -5
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +11 -1
- package/dist/types.js.map +1 -1
- package/package.json +61 -55
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Sy Hong and Ye Joo Park
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Sy Hong and Ye Joo Park
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,83 +1,147 @@
|
|
|
1
|
-
# tabbied-mcp
|
|
2
|
-
|
|
3
|
-
An [MCP](https://modelcontextprotocol.io) server for
|
|
4
|
-
[Tabbied](https://tabbied.com): search 338 generative pattern designs, look at
|
|
5
|
-
them, and render them to SVG or PNG - from Claude Code, Claude Desktop, Cursor,
|
|
6
|
-
or any other MCP client.
|
|
7
|
-
|
|
8
|
-
## Use it without installing anything
|
|
9
|
-
|
|
10
|
-
The same server runs at `https://tabbied.com/mcp
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
claude mcp add --transport http tabbied https://tabbied.com/mcp
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
The local server adds `render_design`, which the remote one cannot offer
|
|
39
|
-
rendering a css-doodle pattern needs a real browser.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
1
|
+
# tabbied-mcp
|
|
2
|
+
|
|
3
|
+
An [MCP](https://modelcontextprotocol.io) server for
|
|
4
|
+
[Tabbied](https://tabbied.com): search 338 generative pattern designs, look at
|
|
5
|
+
them, and render them to SVG or PNG - from Claude Code, Claude Desktop, Cursor,
|
|
6
|
+
or any other MCP client.
|
|
7
|
+
|
|
8
|
+
## Use it without installing anything
|
|
9
|
+
|
|
10
|
+
The same server runs at `https://tabbied.com/mcp`, with no account or key:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
claude mcp add --transport http tabbied https://tabbied.com/mcp # Claude Code
|
|
14
|
+
codex mcp add tabbied --url https://tabbied.com/mcp # Codex
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- **Claude** (web and desktop): Customize, Connectors, + Add, Add custom
|
|
18
|
+
connector; enter the URL and choose "No sign in".
|
|
19
|
+
- **ChatGPT**: turn on Developer mode (Settings, Security and login), then add
|
|
20
|
+
it under [Plugins](https://chatgpt.com/plugins) with the URL as a public
|
|
21
|
+
endpoint. ChatGPT reaches hosted servers only.
|
|
22
|
+
- **Codex**: the command above, or `[mcp_servers.tabbied]` with
|
|
23
|
+
`url = "https://tabbied.com/mcp"` in `~/.codex/config.toml`, which the CLI,
|
|
24
|
+
the IDE extension and the ChatGPT desktop app share.
|
|
25
|
+
- **Cursor** and other clients that read an `mcpServers` JSON file (VS Code's
|
|
26
|
+
`.vscode/mcp.json` uses `servers` with `"type": "http"` instead):
|
|
27
|
+
|
|
28
|
+
```jsonc
|
|
29
|
+
{
|
|
30
|
+
"mcpServers": {
|
|
31
|
+
"tabbied": { "url": "https://tabbied.com/mcp" }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Or run it locally, and render real files
|
|
37
|
+
|
|
38
|
+
The local server adds `render_design`, which the remote one cannot offer:
|
|
39
|
+
rendering a css-doodle pattern needs a real browser. It drives Chromium through
|
|
40
|
+
Playwright, which this package does not install, so start the server with
|
|
41
|
+
Playwright beside it, and download the browser once:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx playwright install chromium
|
|
45
|
+
|
|
46
|
+
claude mcp add tabbied -- npx -y -p tabbied-mcp -p playwright tabbied-mcp # Claude Code
|
|
47
|
+
codex mcp add tabbied -- npx -y -p tabbied-mcp -p playwright tabbied-mcp # Codex
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Claude Desktop (`claude_desktop_config.json`), Cursor and other clients that
|
|
51
|
+
start local servers from JSON:
|
|
52
|
+
|
|
53
|
+
```jsonc
|
|
54
|
+
{
|
|
55
|
+
"mcpServers": {
|
|
56
|
+
"tabbied": {
|
|
57
|
+
"command": "npx",
|
|
58
|
+
"args": ["-y", "-p", "tabbied-mcp", "-p", "playwright", "tabbied-mcp"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
A Playwright installed in the project the server starts in is found too
|
|
65
|
+
(`npm i -D playwright`), and `TABBIED_CHROMIUM` points it at a Chromium binary
|
|
66
|
+
of your own. Without either, `npx -y tabbied-mcp` serves the other six tools,
|
|
67
|
+
and `render_design` says what to install. Needs Node 20 or later.
|
|
68
|
+
|
|
69
|
+
## Tools
|
|
70
|
+
|
|
71
|
+
| Tool | What it does |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| `search_designs` | Filter by motif, mood, density, intended use, free text, or SVG-export support. |
|
|
74
|
+
| `get_design` | The full record for one slug, plus ready-to-paste snippets. |
|
|
75
|
+
| `preview_design` | The rendered preview image for up to six designs, so the model can *look*. |
|
|
76
|
+
| `get_docs` | The complete API reference (`llms-full.txt`). |
|
|
77
|
+
| `list_templates` | The Tabbied website templates, a page at a time, filtered by category or by words. |
|
|
78
|
+
| `get_template` | One template's editable-section spec, its download links, and how to edit each format. |
|
|
79
|
+
| `render_design` | SVG or PNG at any size, seed, palette, and option set. **Local only.** |
|
|
80
|
+
|
|
81
|
+
Slugs are opaque - `cleat`, `karst`, `radius` - so the intended flow is
|
|
82
|
+
`search_designs` to narrow, `preview_design` to look, then `get_design` for the
|
|
83
|
+
options. Choosing off tags alone is the main way this goes wrong.
|
|
84
|
+
|
|
85
|
+
The website templates are licensed per Tabbied account, not with this package:
|
|
86
|
+
downloading one needs an account that has chosen it, under the
|
|
87
|
+
[Template License](https://tabbied.com/terms-of-service/#template-license).
|
|
88
|
+
|
|
89
|
+
Setup for each client, the tools and example prompts are also on
|
|
90
|
+
[tabbied.com/docs/mcp](https://tabbied.com/docs/mcp/).
|
|
91
|
+
|
|
92
|
+
## Programmatic use
|
|
93
|
+
|
|
94
|
+
The package is ESM only (the `tabbied-mcp` bin is unaffected). Its main entry
|
|
95
|
+
point is runtime-agnostic (no node imports), so it can be embedded in a Worker
|
|
96
|
+
or any Web-standard server. It exposes the tools and an `McpServer` factory;
|
|
97
|
+
the transport is the MCP SDK's. On Node, `tabbied-mcp/node` has the readers the
|
|
98
|
+
bin itself uses:
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
import { createMcpHandler } from '@modelcontextprotocol/server';
|
|
102
|
+
import { buildServer, catalogTools } from 'tabbied-mcp';
|
|
103
|
+
import {
|
|
104
|
+
fetchDocs,
|
|
105
|
+
fetchPreview,
|
|
106
|
+
fetchTemplate,
|
|
107
|
+
fetchTemplateCatalog,
|
|
108
|
+
loadCatalog,
|
|
109
|
+
} from 'tabbied-mcp/node';
|
|
110
|
+
|
|
111
|
+
const tools = catalogTools({
|
|
112
|
+
catalog: await loadCatalog(),
|
|
113
|
+
fetchPreview,
|
|
114
|
+
fetchDocs,
|
|
115
|
+
fetchTemplateCatalog,
|
|
116
|
+
fetchTemplate,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
// A Web-standard fetch handler, for Bun.serve, Deno.serve or a Node adapter.
|
|
120
|
+
export default {
|
|
121
|
+
fetch: createMcpHandler(() => buildServer(tools)).fetch,
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Pass the *factory*, not a built server: MCP v2 is stateless and the handler
|
|
126
|
+
constructs one server per request.
|
|
127
|
+
|
|
128
|
+
Only `catalog` is required. Each fetcher adds tools, and one left out drops
|
|
129
|
+
them: `fetchPreview` gives `preview_design`, `fetchDocs` gives `get_docs`,
|
|
130
|
+
`fetchTemplateCatalog` gives `list_templates`, and with `fetchTemplate` as
|
|
131
|
+
well, `get_template`. With all five, as above, it serves the same six tools as
|
|
132
|
+
the hosted server at `https://tabbied.com/mcp`. `renderTool(catalog)`, also
|
|
133
|
+
from `tabbied-mcp/node`, is `render_design`, for a host with a browser.
|
|
134
|
+
|
|
135
|
+
The Node readers take the catalog and the docs from the installed `tabbied`
|
|
136
|
+
package and the rest from tabbied.com. A Worker cannot use them, so it passes
|
|
137
|
+
its own: each is an async function returning the same JSON (`Catalog`,
|
|
138
|
+
`TemplateCatalog` and the rest are exported types), and the hosted server's
|
|
139
|
+
read its own static assets.
|
|
140
|
+
|
|
141
|
+
Built on [`@modelcontextprotocol/server`](https://www.npmjs.com/package/@modelcontextprotocol/server)
|
|
142
|
+
v2, so it speaks the stateless `2026-07-28` revision and still serves 2025-era
|
|
143
|
+
clients. `docs/mcp-server.md` in the repository has the details.
|
|
144
|
+
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
MIT
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// The runtime-agnostic half of the server: the tool definitions and the\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// The runtime-agnostic half of the server: the tool definitions and the\n// `McpServer` factory. Nothing reachable from here may import node, because\n// this entry point is what the Cloudflare Worker bundles; the local catalog\n// reader and `render_design` live behind the bin. See docs/mcp-server.md.\nexport { buildServer } from './server.js';\nexport { catalogTools, createToolset, type Toolset } from './tools.js';\nexport { templateTools } from './templates.js';\nexport { INSTRUCTIONS, SERVER_NAME, VERSION } from './info.js';\nexport type {\n Catalog,\n CatalogDesign,\n CatalogOption,\n TemplateCatalog,\n TemplateCatalogEntry,\n TemplateSpec,\n Tool,\n ToolContent,\n ToolContext,\n ToolDefinition,\n ToolResult,\n} from './types.js';\n"]}
|
package/dist/info.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const SERVER_NAME = "tabbied";
|
|
2
|
-
export declare const VERSION = "0.2.
|
|
2
|
+
export declare const VERSION = "0.2.4";
|
|
3
3
|
/**
|
|
4
4
|
* Shown to the model as a preamble. It carries what no tool description can,
|
|
5
5
|
* because they are properties of the *set* rather than of one call: slugs
|
package/dist/info.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// Server identity and the instructions clients hand to the model.
|
|
2
2
|
//
|
|
3
3
|
// VERSION is a literal rather than a package.json read because this module is
|
|
4
|
-
// bundled into a Cloudflare Worker, which has no filesystem.
|
|
5
|
-
//
|
|
4
|
+
// bundled into a Cloudflare Worker, which has no filesystem. The release's
|
|
5
|
+
// `version-packages` step rewrites it from package.json
|
|
6
|
+
// (scripts/sync-version.mjs), and test/info.test.mjs pins the two together.
|
|
6
7
|
export const SERVER_NAME = 'tabbied';
|
|
7
|
-
export const VERSION = '0.2.
|
|
8
|
+
export const VERSION = '0.2.4';
|
|
8
9
|
/**
|
|
9
10
|
* Shown to the model as a preamble. It carries what no tool description can,
|
|
10
11
|
* because they are properties of the *set* rather than of one call: slugs
|
|
@@ -12,11 +13,11 @@ export const VERSION = '0.2.2';
|
|
|
12
13
|
* sizing rule is the most common way a correct-looking integration renders as
|
|
13
14
|
* nothing.
|
|
14
15
|
*/
|
|
15
|
-
export const INSTRUCTIONS = `Tabbied is a catalog of generative patterns (css-doodle) usable as backgrounds, textures, posters, and exported SVG/PNG assets.
|
|
16
|
-
|
|
17
|
-
Designs are addressed by slug, and slugs are opaque - "cleat", "karst", "radius" say nothing about what they look like. Never guess one: call search_designs, which filters on a closed vocabulary of motifs, moods, density, and intended use.
|
|
18
|
-
|
|
19
|
-
Metadata narrows the field; it does not settle it. These are pictures, so call preview_design on your shortlist and look before you commit. Choosing off tags alone is the main way this goes wrong.
|
|
20
|
-
|
|
16
|
+
export const INSTRUCTIONS = `Tabbied is a catalog of generative patterns (css-doodle) usable as backgrounds, textures, posters, and exported SVG/PNG assets.
|
|
17
|
+
|
|
18
|
+
Designs are addressed by slug, and slugs are opaque - "cleat", "karst", "radius" say nothing about what they look like. Never guess one: call search_designs, which filters on a closed vocabulary of motifs, moods, density, and intended use.
|
|
19
|
+
|
|
20
|
+
Metadata narrows the field; it does not settle it. These are pictures, so call preview_design on your shortlist and look before you commit. Choosing off tags alone is the main way this goes wrong.
|
|
21
|
+
|
|
21
22
|
When you write integration code, remember a pattern has no intrinsic size: it fills its parent and collapses to nothing in a parent that sizes to content. Pass height or aspectRatio unless the parent is definitely sized. get_docs has the full API contract and recipes.`;
|
|
22
23
|
//# sourceMappingURL=info.js.map
|
package/dist/info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,wDAAwD;AACxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;6QAMiP,CAAC","sourcesContent":["// Server identity and the instructions clients hand to the model.\n//\n// VERSION is a literal rather than a package.json read because this module is\n// bundled into a Cloudflare Worker, which has no filesystem. The release's\n// `version-packages` step rewrites it from package.json\n// (scripts/sync-version.mjs), and test/info.test.mjs pins the two together.\nexport const SERVER_NAME = 'tabbied';\nexport const VERSION = '0.2.4';\n\n/**\n * Shown to the model as a preamble. It carries what no tool description can,\n * because they are properties of the *set* rather than of one call: slugs\n * cannot be guessed, the previews are what a choice should rest on, and the\n * sizing rule is the most common way a correct-looking integration renders as\n * nothing.\n */\nexport const INSTRUCTIONS = `Tabbied is a catalog of generative patterns (css-doodle) usable as backgrounds, textures, posters, and exported SVG/PNG assets.\n\nDesigns are addressed by slug, and slugs are opaque - \"cleat\", \"karst\", \"radius\" say nothing about what they look like. Never guess one: call search_designs, which filters on a closed vocabulary of motifs, moods, density, and intended use.\n\nMetadata narrows the field; it does not settle it. These are pictures, so call preview_design on your shortlist and look before you commit. Choosing off tags alone is the main way this goes wrong.\n\nWhen you write integration code, remember a pattern has no intrinsic size: it fills its parent and collapses to nothing in a parent that sizes to content. Pass height or aspectRatio unless the parent is definitely sized. get_docs has the full API contract and recipes.`;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// The Node half, for hosts that run on Node rather than a Worker: what the
|
|
2
|
+
// `tabbied-mcp` bin itself passes to `catalogTools`, plus `render_design`.
|
|
3
|
+
// Kept off the main entry point, which a Worker bundles and which must stay
|
|
4
|
+
// free of node imports (see ../index.ts).
|
|
5
|
+
export { fetchDocs, fetchPreview, fetchTemplate, fetchTemplateCatalog, loadCatalog, tabbiedRoot, } from './resources.js';
|
|
6
|
+
export { renderTool } from './render.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,0CAA0C;AAC1C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC","sourcesContent":["// The Node half, for hosts that run on Node rather than a Worker: what the\n// `tabbied-mcp` bin itself passes to `catalogTools`, plus `render_design`.\n// Kept off the main entry point, which a Worker bundles and which must stay\n// free of node imports (see ../index.ts).\nexport {\n fetchDocs,\n fetchPreview,\n fetchTemplate,\n fetchTemplateCatalog,\n loadCatalog,\n tabbiedRoot,\n} from './resources.js';\nexport { renderTool } from './render.js';\n"]}
|