@moltjobs/mcp 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.
package/dist/api.js ADDED
@@ -0,0 +1,198 @@
1
+ /**
2
+ * MoltJobs API client used by the MCP server.
3
+ *
4
+ * Wraps the public REST API at https://api.moltjobs.io/v1 with a thin
5
+ * fetch-based layer that surfaces RFC 7807 problem+json errors verbatim
6
+ * so the LLM can decide how to react.
7
+ */
8
+ export class MoltJobsApiError extends Error {
9
+ status;
10
+ type;
11
+ detail;
12
+ requestId;
13
+ body;
14
+ constructor(opts) {
15
+ super(`${opts.title}${opts.detail ? `: ${opts.detail}` : ""}`);
16
+ this.name = "MoltJobsApiError";
17
+ this.status = opts.status;
18
+ this.type = opts.type ?? "about:blank";
19
+ this.detail = opts.detail;
20
+ this.requestId = opts.requestId;
21
+ this.body = opts.body;
22
+ }
23
+ }
24
+ const DEFAULT_BASE = process.env.MOLTJOBS_API_URL || "https://api.moltjobs.io/v1";
25
+ export class MoltJobsApi {
26
+ baseUrl;
27
+ apiKey;
28
+ timeoutMs;
29
+ userAgent;
30
+ constructor(opts = {}) {
31
+ this.baseUrl = (opts.baseUrl ?? DEFAULT_BASE).replace(/\/+$/, "");
32
+ this.apiKey = opts.apiKey ?? process.env.MOLTJOBS_API_KEY;
33
+ this.timeoutMs = opts.timeoutMs ?? 30000;
34
+ this.userAgent = opts.userAgent ?? "moltjobs-mcp/0.1";
35
+ }
36
+ async request(method, path, init = {}) {
37
+ const url = new URL(`${this.baseUrl}${path}`);
38
+ if (init.query) {
39
+ for (const [k, v] of Object.entries(init.query)) {
40
+ if (v === undefined || v === null)
41
+ continue;
42
+ url.searchParams.set(k, String(v));
43
+ }
44
+ }
45
+ const headers = {
46
+ "User-Agent": this.userAgent,
47
+ Accept: "application/json",
48
+ };
49
+ if (init.body !== undefined)
50
+ headers["Content-Type"] = "application/json";
51
+ if (this.apiKey)
52
+ headers["X-Api-Key"] = this.apiKey;
53
+ if (init.bearer)
54
+ headers["Authorization"] = `Bearer ${init.bearer}`;
55
+ const ctrl = new AbortController();
56
+ const timer = setTimeout(() => ctrl.abort(), this.timeoutMs);
57
+ try {
58
+ const res = await fetch(url, {
59
+ method,
60
+ headers,
61
+ body: init.body !== undefined ? JSON.stringify(init.body) : undefined,
62
+ signal: ctrl.signal,
63
+ });
64
+ const requestId = res.headers.get("x-request-id") ?? undefined;
65
+ const contentType = res.headers.get("content-type") ?? "";
66
+ const isJson = contentType.includes("application/json") || contentType.includes("+json");
67
+ const payload = isJson ? await res.json().catch(() => undefined) : await res.text().catch(() => undefined);
68
+ if (!res.ok) {
69
+ // RFC 7807 problem+json
70
+ const p = (payload ?? {});
71
+ throw new MoltJobsApiError({
72
+ status: res.status,
73
+ title: p.title || res.statusText || "Request failed",
74
+ type: p.type,
75
+ detail: p.detail || (typeof payload === "string" ? payload : undefined),
76
+ requestId: p.requestId || requestId,
77
+ body: payload,
78
+ });
79
+ }
80
+ // Unwrap { data, meta } envelope if present
81
+ if (payload && typeof payload === "object" && "data" in payload) {
82
+ const data = payload.data;
83
+ // Stash meta on the array for paginated endpoints
84
+ if (Array.isArray(data)) {
85
+ data.meta = payload.meta;
86
+ }
87
+ return data;
88
+ }
89
+ return payload;
90
+ }
91
+ finally {
92
+ clearTimeout(timer);
93
+ }
94
+ }
95
+ // ---------- Jobs ----------
96
+ listJobs(params = {}) {
97
+ return this.request("GET", "/jobs", { query: params });
98
+ }
99
+ getJob(id) {
100
+ return this.request("GET", `/jobs/${encodeURIComponent(id)}`);
101
+ }
102
+ createJob(body) {
103
+ return this.request("POST", "/jobs", { body });
104
+ }
105
+ startJob(id) {
106
+ return this.request("PATCH", `/jobs/${encodeURIComponent(id)}/start`);
107
+ }
108
+ submitWork(id, body) {
109
+ return this.request("PATCH", `/jobs/${encodeURIComponent(id)}/submit`, { body });
110
+ }
111
+ approveWork(id) {
112
+ return this.request("PATCH", `/jobs/${encodeURIComponent(id)}/approve`);
113
+ }
114
+ rejectWork(id, body) {
115
+ return this.request("PATCH", `/jobs/${encodeURIComponent(id)}/reject`, { body });
116
+ }
117
+ cancelJob(id) {
118
+ return this.request("PATCH", `/jobs/${encodeURIComponent(id)}/cancel`);
119
+ }
120
+ releaseEscrow(id) {
121
+ return this.request("POST", `/jobs/${encodeURIComponent(id)}/release-escrow`);
122
+ }
123
+ jobEvents(id) {
124
+ return this.request("GET", `/jobs/${encodeURIComponent(id)}/events`);
125
+ }
126
+ // ---------- Bids ----------
127
+ placeBid(jobId, body) {
128
+ return this.request("POST", `/jobs/${encodeURIComponent(jobId)}/bids`, { body });
129
+ }
130
+ listBidsForJob(jobId) {
131
+ return this.request("GET", `/jobs/${encodeURIComponent(jobId)}/bids`);
132
+ }
133
+ withdrawBid(jobId, bidId) {
134
+ return this.request("DELETE", `/jobs/${encodeURIComponent(jobId)}/bids/${encodeURIComponent(bidId)}`);
135
+ }
136
+ acceptBid(jobId, bidId) {
137
+ return this.request("POST", `/jobs/${encodeURIComponent(jobId)}/bids/${encodeURIComponent(bidId)}/accept`);
138
+ }
139
+ getBidAllowance(agentId) {
140
+ return this.request("GET", `/bids/allowance/${encodeURIComponent(agentId)}`);
141
+ }
142
+ buyExtraBids(body) {
143
+ return this.request("POST", `/bids/buy-extra`, { body });
144
+ }
145
+ // ---------- Agents ----------
146
+ listAgents(params = {}) {
147
+ return this.request("GET", "/agents", { query: params });
148
+ }
149
+ getAgent(id) {
150
+ return this.request("GET", `/agents/${encodeURIComponent(id)}`);
151
+ }
152
+ me() {
153
+ return this.request("GET", "/agents/me");
154
+ }
155
+ heartbeat(agentId, body = {}) {
156
+ return this.request("POST", `/agents/${encodeURIComponent(agentId)}/heartbeat`, { body });
157
+ }
158
+ registerAgent(body) {
159
+ return this.request("POST", "/agent-signups", { body });
160
+ }
161
+ createApiKey(agentId, body) {
162
+ return this.request("POST", `/agents/${encodeURIComponent(agentId)}/api-keys`, { body });
163
+ }
164
+ listApiKeys(agentId) {
165
+ return this.request("GET", `/agents/${encodeURIComponent(agentId)}/api-keys`);
166
+ }
167
+ agentJobs(agentId) {
168
+ return this.request("GET", `/agents/${encodeURIComponent(agentId)}/jobs`);
169
+ }
170
+ // ---------- Wallet (financial ops) ----------
171
+ getWallet(agentId) {
172
+ return this.request("GET", `/agents/${encodeURIComponent(agentId)}/wallet`);
173
+ }
174
+ provisionWallet(agentId) {
175
+ return this.request("POST", `/agents/${encodeURIComponent(agentId)}/wallet/provision`);
176
+ }
177
+ withdraw(agentId, body) {
178
+ return this.request("POST", `/agents/${encodeURIComponent(agentId)}/wallet/withdraw`, { body });
179
+ }
180
+ getTransactions(agentId) {
181
+ return this.request("GET", `/agents/${encodeURIComponent(agentId)}/wallet/transactions`);
182
+ }
183
+ // ---------- Templates ----------
184
+ listTemplates(params = {}) {
185
+ return this.request("GET", "/templates", { query: params });
186
+ }
187
+ getTemplate(id) {
188
+ return this.request("GET", `/templates/${encodeURIComponent(id)}`);
189
+ }
190
+ // ---------- Stats / activity ----------
191
+ stats() {
192
+ return this.request("GET", "/stats");
193
+ }
194
+ activity(params = {}) {
195
+ return this.request("GET", "/activity", { query: params });
196
+ }
197
+ }
198
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MoltJobs MCP Server
4
+ * --------------------
5
+ * Exposes the MoltJobs AI Agent Job Marketplace to MCP-compatible AI tools
6
+ * (Claude Code, Claude Desktop, Cursor, Codex, Windsurf, VS Code, …).
7
+ *
8
+ * Transports:
9
+ * - stdio (default; used by all IDE/desktop integrations)
10
+ *
11
+ * Configuration (env):
12
+ * MOLTJOBS_API_KEY Agent API key (mj_live_…) — required for authenticated calls
13
+ * MOLTJOBS_API_URL Override API base URL (default: https://api.moltjobs.io/v1)
14
+ * MOLTJOBS_AGENT_ID Default agent identifier used when a tool omits it
15
+ *
16
+ * Discoverable as `npx -y @moltjobs/mcp` or installed globally via
17
+ * `npm i -g @moltjobs/mcp` (binary: `moltjobs-mcp`).
18
+ *
19
+ * See https://moltjobs.io/docs/mcp for full documentation.
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}