@uplink-code/mcp 0.0.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.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ var s=Object.defineProperty;var r=(e,t)=>s(e,"name",{value:t,configurable:!0});import{McpServer as a}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as l}from"@modelcontextprotocol/sdk/server/stdio.js";import{TOOLS as p}from"@uplink-code/agent-tools";function o(e){for(let t of p)e.registerTool(`uplink_${t.name}`,{description:t.description},()=>({content:[{type:"text",text:JSON.stringify({error:{code:"not_implemented",message:`Tool ${t.name} scaffold present but handlers not yet wired. Requires @uplink-code/agent-tools v0.2.0+.`}})}],isError:!0}))}r(o,"registerTools");import{UPLINK_API_REFERENCE as c,buildSystemPrompt as m}from"@uplink-code/agent-tools";function i(e){e.registerResource("uplink-api-reference","uplink://api-reference",{title:"Uplink API Reference",description:"Methods available on the Uplink `page` and `browser` objects (the surface user scripts run against). Read this before writing or editing scripts so you don't guess at non-existent methods (no waitForTimeout, no locator, etc.).",mimeType:"text/markdown"},t=>Promise.resolve({contents:[{uri:t.toString(),mimeType:"text/markdown",text:c}]})),e.registerResource("uplink-system-prompt","uplink://system-prompt",{title:"Uplink Scripting Conventions",description:"Conventions, idioms, and anti-patterns for writing Uplink automation scripts. Built into the prompt automatically by clients that consume MCP resources at session start.",mimeType:"text/markdown"},t=>Promise.resolve({contents:[{uri:t.toString(),mimeType:"text/markdown",text:m({})}]}))}r(i,"registerResources");var u="@uplink-code/mcp",d="0.0.1";async function n(){let e=new a({name:u,version:d},{capabilities:{tools:{},resources:{}}});o(e),i(e);let t=new l;await e.connect(t)}r(n,"runServer");n().catch(e=>{process.stderr.write(`[uplink-mcp] fatal: ${e instanceof Error?e.message:String(e)}
3
+ `),process.exit(1)});
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @uplink-code/mcp — MCP server entrypoint.
4
+ *
5
+ * Boots a stdio MCP server that exposes Uplink's browser automation
6
+ * tools to any MCP-capable AI client (Claude Code, Cursor, etc.).
7
+ *
8
+ * Auth: reads UPLINK_API_KEY from env. CLI/config-file integration
9
+ * comes from @uplink-code/cli once that's stood up.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,13 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /**
3
+ * Register Uplink documentation as MCP resources. MCP clients
4
+ * (Claude Code, Cursor, etc.) can fetch these and include them in
5
+ * the model's context — no separate "skill install" step needed.
6
+ *
7
+ * Two resources:
8
+ * uplink://api-reference — the Uplink page/browser API surface
9
+ * uplink://system-prompt — Uplink scripting conventions + idioms,
10
+ * built from agent-tools' buildSystemPrompt
11
+ */
12
+ export declare function registerResources(server: McpServer): void;
13
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Boot the stdio MCP server. Registers tools from
3
+ * @uplink-code/agent-tools and dispatches calls against the
4
+ * per-session Uplink Page held in module state.
5
+ *
6
+ * v0.0.1 ships the scaffold + tool registration only; actual
7
+ * tool handlers wire up after agent-tools v0.2.0/v0.3.0 are
8
+ * published.
9
+ */
10
+ export declare function runServer(): Promise<void>;
11
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /**
3
+ * Register Uplink's agent tools on the MCP server. Tool names are
4
+ * namespaced `uplink_*` so they don't collide with other MCP servers
5
+ * a user might have installed (filesystem, github, etc.).
6
+ *
7
+ * Scaffold version: every tool handler returns `not_implemented`.
8
+ * Once agent-tools v0.2.0 + v0.3.0 are published, handlers wire in
9
+ * here.
10
+ */
11
+ export declare function registerTools(server: McpServer): void;
12
+ //# sourceMappingURL=tools.d.ts.map
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@uplink-code/mcp",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./lib/mcp/src/index.d.ts",
8
+ "import": "./lib/mcp/index.js",
9
+ "require": "./lib/mcp/index.js"
10
+ }
11
+ },
12
+ "bin": {
13
+ "uplink-mcp": "./lib/mcp/index.js"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "repository": {
19
+ "url": "git://github.com/uplink-code/uplink-ai.git"
20
+ },
21
+ "files": [
22
+ "package.json",
23
+ "lib/mcp/**/*.js",
24
+ "lib/mcp/**/*.d.ts"
25
+ ],
26
+ "scripts": {
27
+ "build": "npm run build:declarations && npm run build:transpile",
28
+ "build:transpile": "esbuild src/index.ts --bundle --keep-names --minify --format=esm --platform=node --external:@uplink-code/uplink --external:@uplink-code/ai --external:@uplink-code/agent-tools --external:@modelcontextprotocol/sdk --outfile=./lib/mcp/index.js",
29
+ "build:declarations": "tsc -b",
30
+ "clean": "rm -rf lib",
31
+ "format:check": "prettier --check src/ package.json tsconfig.json",
32
+ "format:fix": "prettier --write src/ package.json tsconfig.json",
33
+ "lint": "eslint src/",
34
+ "lint:fix": "eslint --fix src/",
35
+ "prepare": "npm run build"
36
+ },
37
+ "devDependencies": {
38
+ "@types/node": "^24.3.1",
39
+ "esbuild": "^0.25.9",
40
+ "eslint-config-prettier": "^10.1.8",
41
+ "prettier": "^3.6.2",
42
+ "typescript": "^5.9.2",
43
+ "typescript-eslint": "^8.56.0"
44
+ },
45
+ "keywords": [
46
+ "uplink",
47
+ "mcp",
48
+ "model-context-protocol",
49
+ "claude",
50
+ "ai",
51
+ "browser-automation"
52
+ ],
53
+ "author": "scott@atomicfi.com",
54
+ "license": "proprietary",
55
+ "description": "Model Context Protocol server for Uplink — exposes Uplink's browser automation tools to any MCP-capable AI client (Claude Code, Cursor, etc.)",
56
+ "dependencies": {
57
+ "@modelcontextprotocol/sdk": "^1.0.0",
58
+ "@uplink-code/agent-tools": "^0.1.0",
59
+ "@uplink-code/ai": "^0.3.0",
60
+ "@uplink-code/uplink": ">=0.9.0 <1.0.0"
61
+ }
62
+ }