@tempo-ai/mcp 0.0.100-staging.1
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/README.md +62 -0
- package/dist/bin.js +18 -0
- package/dist/bin.js.map +1 -0
- package/dist/chunk-JDPG7F4Z.js +688 -0
- package/dist/chunk-JDPG7F4Z.js.map +1 -0
- package/dist/chunk-QTTJRK4J.js +156 -0
- package/dist/chunk-QTTJRK4J.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/serve-OI2RGYVP.js +46873 -0
- package/dist/serve-OI2RGYVP.js.map +1 -0
- package/package.json +78 -0
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# @tempo-ai/mcp
|
|
2
|
+
|
|
3
|
+
Tempo's MCP server for external hosts — Claude Code, Codex CLI, Cursor, and
|
|
4
|
+
any other MCP-compatible client. ONE server entry exposes Tempo's full tool
|
|
5
|
+
surface: issues, cloud docs, canvas comments, custom agents, run scripts,
|
|
6
|
+
Slack (as the org's Tempo bot), Linear, and — when run inside a Tempo repo —
|
|
7
|
+
the canvas tools, including headless `canvas_screenshot` and `canvas_share`
|
|
8
|
+
with real preview capture.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
Claude Code:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
claude mcp add tempo -- npx -y @tempo-ai/mcp
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Codex (`~/.codex/config.toml`):
|
|
19
|
+
|
|
20
|
+
```toml
|
|
21
|
+
[mcp_servers.tempo]
|
|
22
|
+
command = "npx"
|
|
23
|
+
args = ["-y", "@tempo-ai/mcp"]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Cursor / generic JSON config:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{ "tempo": { "command": "npx", "args": ["-y", "@tempo-ai/mcp"] } }
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Sign in once (or let the first tool call prompt you):
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx @tempo-ai/mcp login
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Scoping model
|
|
39
|
+
|
|
40
|
+
Identity comes from your sign-in; SCOPE is explicit on every call. Each
|
|
41
|
+
issues/docs/comments/agents/scripts/slack/linear tool requires an `orgId`
|
|
42
|
+
argument, and project-scoped tools require `projectId` — the AI discovers
|
|
43
|
+
both with the built-in `tempo_list_orgs` / `tempo_list_projects` tools.
|
|
44
|
+
Nothing org-related is ever baked into the connection config, and Tempo's
|
|
45
|
+
backend re-validates org membership on every function call regardless.
|
|
46
|
+
|
|
47
|
+
## Flags
|
|
48
|
+
|
|
49
|
+
- `--toolsets issues,docs,canvas` — serve only the named toolsets
|
|
50
|
+
- `--readonly` — register no write tools at all (also `TEMPO_MCP_READONLY=1`)
|
|
51
|
+
|
|
52
|
+
## Canvas visuals
|
|
53
|
+
|
|
54
|
+
`canvas_screenshot` / `canvas_share` spawn a disposable canvas devserver and
|
|
55
|
+
capture with headless Chromium (the same pipeline Tempo's visual-review CI
|
|
56
|
+
uses). They require Playwright's Chromium once per machine:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx playwright install chromium
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Share links require the canvas's branch to be committed and pushed.
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __tempoCreateRequire } from 'node:module'; const require = __tempoCreateRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
run
|
|
5
|
+
} from "./chunk-QTTJRK4J.js";
|
|
6
|
+
import "./chunk-JDPG7F4Z.js";
|
|
7
|
+
|
|
8
|
+
// src/bin.ts
|
|
9
|
+
run(process.argv).then(
|
|
10
|
+
(code) => {
|
|
11
|
+
if (typeof code === "number") process.exit(code);
|
|
12
|
+
},
|
|
13
|
+
(err) => {
|
|
14
|
+
console.error(err instanceof Error ? err.stack || err.message : err);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bin.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Production CLI entrypoint shipped in the npm tarball.\n *\n * In source form (this file) it imports the dispatcher via the\n * relative path `./index.ts`. tsup bundles it to `dist/bin.js`\n * alongside `dist/index.js`, and the `bin` field in `package.json`\n * points at `./dist/bin.js`. Consumers running `npx tempo-mcp` or\n * `tempo-mcp <subcommand>` execute the bundled JS — no need for\n * `--experimental-strip-types` on their end.\n */\n\nimport { run } from \"./index.ts\";\n\nrun(process.argv).then(\n (code) => {\n // Long-running MCP servers never resolve `run()` until the host\n // disconnects stdio. Short-lived commands (login/whoami/orgs) return\n // here with the exit code.\n if (typeof code === \"number\") process.exit(code);\n },\n (err) => {\n console.error(err instanceof Error ? err.stack || err.message : err);\n process.exit(1);\n },\n);\n"],"mappings":";;;;;;;;AAcA,IAAI,QAAQ,IAAI,EAAE;AAAA,EAChB,CAAC,SAAS;AAIR,QAAI,OAAO,SAAS,SAAU,SAAQ,KAAK,IAAI;AAAA,EACjD;AAAA,EACA,CAAC,QAAQ;AACP,YAAQ,MAAM,eAAe,QAAQ,IAAI,SAAS,IAAI,UAAU,GAAG;AACnE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}
|