@tacitai/mcp-server 0.6.0 → 0.6.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/dist/auth.js +0 -1
- package/dist/client.js +0 -1
- package/dist/index.js +0 -1
- package/dist/oauth.js +0 -1
- package/dist/prompts.js +0 -1
- package/dist/setup.js +17 -17
- package/dist/tools/agents.js +0 -1
- package/dist/tools/annotations.js +0 -1
- package/dist/tools/artifacts.js +0 -1
- package/dist/tools/connector_write_back.js +0 -1
- package/dist/tools/converse.js +0 -1
- package/dist/tools/drafts.js +0 -1
- package/dist/tools/errors.js +0 -1
- package/dist/tools/export.js +0 -1
- package/dist/tools/github.js +0 -1
- package/dist/tools/gm.js +0 -1
- package/dist/tools/ingest.js +0 -1
- package/dist/tools/kb.js +0 -1
- package/dist/tools/lake.js +0 -1
- package/dist/tools/move.js +0 -1
- package/dist/tools/outbox.js +0 -1
- package/dist/tools/pyramid.js +0 -1
- package/dist/tools/recall.js +0 -1
- package/dist/tools/registry.js +0 -1
- package/dist/tools/research.js +0 -1
- package/dist/tools/search.js +0 -1
- package/dist/tools/sharing.js +0 -1
- package/dist/tools/skills.js +0 -1
- package/dist/tools/synthesize.js +0 -1
- package/dist/tools/voice.js +0 -1
- package/dist/tools/web-url.js +0 -1
- package/dist/tools/wiki.js +0 -1
- package/dist/transport.js +0 -1
- package/package.json +3 -5
- package/LICENSE +0 -21
package/dist/auth.js
CHANGED
package/dist/client.js
CHANGED
package/dist/index.js
CHANGED
package/dist/oauth.js
CHANGED
package/dist/prompts.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
1
|
import { z } from 'zod';
|
|
3
2
|
const ASSISTANT_SYSTEM_PROMPT_STATIC = "You are TACIT's workspace assistant. Answer from the user's workspace through TACIT tools. " +
|
|
4
3
|
'Prefer a single read tool for direct lookups, synthesis for open questions, and ask before any write or dispatch.';
|
package/dist/setup.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
1
|
/**
|
|
3
2
|
* setup — wizard subcommand for @tacit/mcp-server
|
|
4
3
|
*
|
|
@@ -189,11 +188,24 @@ const DEVICE_AUTH_TIMEOUT_MS = 120_000;
|
|
|
189
188
|
* - Token plaintext is NEVER logged.
|
|
190
189
|
*
|
|
191
190
|
* Error paths:
|
|
192
|
-
* -
|
|
193
|
-
* -
|
|
191
|
+
* - /auth/device returns 404 → reject immediately (pre-flight probe).
|
|
192
|
+
* - Port 9123 occupied → reject (caller falls back to loginFlow).
|
|
193
|
+
* - 120s timeout → reject (caller falls back to loginFlow).
|
|
194
194
|
* - Browser open fails → print URL to stdout for manual copy-paste (AC-16 fallback).
|
|
195
195
|
*/
|
|
196
196
|
async function deviceAuthFlow(apiUrl) {
|
|
197
|
+
// Pre-flight: check if /auth/device exists before opening a browser to it.
|
|
198
|
+
try {
|
|
199
|
+
const probe = await fetch(`${apiUrl}/auth/device`, { method: 'HEAD', redirect: 'manual' });
|
|
200
|
+
if (probe.status === 404) {
|
|
201
|
+
throw new Error('device-auth endpoint not available');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
if (err instanceof Error && err.message === 'device-auth endpoint not available')
|
|
206
|
+
throw err;
|
|
207
|
+
// Network error (e.g., no connectivity) — let device auth attempt anyway.
|
|
208
|
+
}
|
|
197
209
|
// 1. Generate a cryptographically random state nonce (32 bytes, hex).
|
|
198
210
|
const stateNonce = crypto.randomBytes(32).toString('hex');
|
|
199
211
|
return new Promise((resolve, reject) => {
|
|
@@ -265,14 +277,6 @@ async function deviceAuthFlow(apiUrl) {
|
|
|
265
277
|
}
|
|
266
278
|
});
|
|
267
279
|
server.on('error', (err) => {
|
|
268
|
-
if (err.code === 'EADDRINUSE') {
|
|
269
|
-
process.stderr.write(`Error: port ${DEVICE_AUTH_CALLBACK_PORT} is already in use.\n` +
|
|
270
|
-
`Cannot start device-auth callback server.\n` +
|
|
271
|
-
`Use --token <your-token> instead:\n` +
|
|
272
|
-
` npx @tacitai/mcp-server setup --api-url ${apiUrl} --token <your-token>\n` +
|
|
273
|
-
`Get your token from: ${apiUrl}/settings\n`);
|
|
274
|
-
process.exit(1);
|
|
275
|
-
}
|
|
276
280
|
cleanup();
|
|
277
281
|
reject(err);
|
|
278
282
|
});
|
|
@@ -303,14 +307,10 @@ async function deviceAuthFlow(apiUrl) {
|
|
|
303
307
|
` ${deviceUrl}\n`);
|
|
304
308
|
}
|
|
305
309
|
});
|
|
306
|
-
// 5. Timeout guard (AC-15).
|
|
310
|
+
// 5. Timeout guard (AC-15). Reject so main() falls back to loginFlow.
|
|
307
311
|
timeoutHandle = setTimeout(() => {
|
|
308
312
|
cleanup();
|
|
309
|
-
|
|
310
|
-
`Use --token <your-token> instead:\n` +
|
|
311
|
-
` npx @tacitai/mcp-server setup --api-url ${apiUrl} --token <your-token>\n` +
|
|
312
|
-
`Get your token from: ${apiUrl}/settings\n`);
|
|
313
|
-
process.exit(1);
|
|
313
|
+
reject(new Error(`device-auth timed out after ${DEVICE_AUTH_TIMEOUT_MS / 1000}s`));
|
|
314
314
|
}, DEVICE_AUTH_TIMEOUT_MS);
|
|
315
315
|
});
|
|
316
316
|
});
|
package/dist/tools/agents.js
CHANGED
package/dist/tools/artifacts.js
CHANGED
package/dist/tools/converse.js
CHANGED
package/dist/tools/drafts.js
CHANGED
package/dist/tools/errors.js
CHANGED
package/dist/tools/export.js
CHANGED
package/dist/tools/github.js
CHANGED
package/dist/tools/gm.js
CHANGED
package/dist/tools/ingest.js
CHANGED
package/dist/tools/kb.js
CHANGED
package/dist/tools/lake.js
CHANGED
package/dist/tools/move.js
CHANGED
package/dist/tools/outbox.js
CHANGED
package/dist/tools/pyramid.js
CHANGED
package/dist/tools/recall.js
CHANGED
package/dist/tools/registry.js
CHANGED
package/dist/tools/research.js
CHANGED
package/dist/tools/search.js
CHANGED
package/dist/tools/sharing.js
CHANGED
package/dist/tools/skills.js
CHANGED
package/dist/tools/synthesize.js
CHANGED
package/dist/tools/voice.js
CHANGED
package/dist/tools/web-url.js
CHANGED
package/dist/tools/wiki.js
CHANGED
package/dist/transport.js
CHANGED
package/package.json
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacitai/mcp-server",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "stdio MCP server wrapping Tacit /api/v1 REST/SSE API",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"private": false,
|
|
6
7
|
"repository": {
|
|
7
8
|
"type": "git",
|
|
8
9
|
"url": "git+https://github.com/scottkmcmillan/tacit.git",
|
|
9
10
|
"directory": "packages/tacit-mcp-server"
|
|
10
11
|
},
|
|
11
|
-
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
13
|
-
},
|
|
14
12
|
"type": "module",
|
|
15
13
|
"main": "dist/index.js",
|
|
16
14
|
"bin": {
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Quarterback AI
|
|
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.
|