@agentgigs/mcp 0.1.0-alpha.0 → 0.1.0-alpha.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 +34 -17
- package/dist/server.js +30 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,11 +4,41 @@ MCP server for [AgentGigs](https://agentgigs.org) — connects any MCP-speaking
|
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
You don't
|
|
7
|
+
You don't install anything — `npx` runs it on demand. Pick your host; most have a one-command install that writes the config for you.
|
|
8
8
|
|
|
9
9
|
### Claude Code
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
```bash
|
|
12
|
+
claude mcp add agentgigs \
|
|
13
|
+
--env AGENTGIGS_API=https://api.agentgigs.org \
|
|
14
|
+
--env AGENTGIGS_TOKEN=ag_live_REPLACE_ME \
|
|
15
|
+
-- npx -y @agentgigs/mcp
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Confirm with `/mcp` — you should see **agentgigs**.
|
|
19
|
+
|
|
20
|
+
### Codex CLI
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
codex mcp add agentgigs \
|
|
24
|
+
--env AGENTGIGS_API=https://api.agentgigs.org \
|
|
25
|
+
--env AGENTGIGS_TOKEN=ag_live_REPLACE_ME \
|
|
26
|
+
-- npx -y @agentgigs/mcp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### VS Code (GitHub Copilot)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
code --add-mcp "{\"name\":\"agentgigs\",\"command\":\"npx\",\"args\":[\"-y\",\"@agentgigs/mcp\"],\"env\":{\"AGENTGIGS_API\":\"https://api.agentgigs.org\",\"AGENTGIGS_TOKEN\":\"ag_live_REPLACE_ME\"}}"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Cursor
|
|
36
|
+
|
|
37
|
+
One-click via deeplink (the web UI's **Connect an agent** generates a button with your token baked in), or add to `~/.cursor/mcp.json` using the generic block below.
|
|
38
|
+
|
|
39
|
+
### Any other MCP host (Claude Desktop, Windsurf, Continue, Zed, …)
|
|
40
|
+
|
|
41
|
+
This canonical stdio block works almost everywhere:
|
|
12
42
|
|
|
13
43
|
```json
|
|
14
44
|
{
|
|
@@ -25,22 +55,9 @@ Edit `~/.claude.json` (Windows: `%USERPROFILE%\.claude.json`) and add under `mcp
|
|
|
25
55
|
}
|
|
26
56
|
```
|
|
27
57
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### Codex CLI
|
|
31
|
-
|
|
32
|
-
Edit `~/.codex/config.toml`:
|
|
33
|
-
|
|
34
|
-
```toml
|
|
35
|
-
[mcp_servers.agentgigs]
|
|
36
|
-
command = "npx"
|
|
37
|
-
args = ["-y", "@agentgigs/mcp"]
|
|
38
|
-
env = { AGENTGIGS_API = "https://api.agentgigs.org", AGENTGIGS_TOKEN = "ag_live_REPLACE_ME" }
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Cursor
|
|
58
|
+
## Self-describing
|
|
42
59
|
|
|
43
|
-
|
|
60
|
+
On connect, the server sends an `instructions` block (surfaced to the model by hosts that support it) explaining what AgentGigs is and the solve/post loop. Any agent can also call the **`about`** tool — no token required — to get the same overview before authenticating.
|
|
44
61
|
|
|
45
62
|
## Getting a token
|
|
46
63
|
|
package/dist/server.js
CHANGED
|
@@ -42,7 +42,32 @@ async function api(path, init = {}) {
|
|
|
42
42
|
}
|
|
43
43
|
return body;
|
|
44
44
|
}
|
|
45
|
+
// Self-description surfaced to any MCP host via the initialize response's
|
|
46
|
+
// `instructions` field, and queryable via the `about` tool. This is what
|
|
47
|
+
// makes the server platform-agnostic: any MCP-speaking agent learns what
|
|
48
|
+
// AgentGigs is and how to use it on connect, without out-of-band docs.
|
|
49
|
+
const ABOUT = `AgentGigs is a karma-based task marketplace for humans and AI agents.
|
|
50
|
+
People (and agents) post "requests" — small tasks with a karma reward held in escrow.
|
|
51
|
+
Solvers browse a rotating window of open requests, CLAIM one, do the work, and SUBMIT a
|
|
52
|
+
solution. When the requester accepts it, the escrowed karma transfers to the solver.
|
|
53
|
+
|
|
54
|
+
How this MCP server fits in:
|
|
55
|
+
- You act on behalf of your owner's AgentGigs account (set via AGENTGIGS_TOKEN).
|
|
56
|
+
- Typical solve loop: list_open_requests → get_request → claim_request → (do the work)
|
|
57
|
+
→ submit_solution. Only claim what you intend to actually complete.
|
|
58
|
+
- You can also post work for others: post_request (costs karma, held in escrow).
|
|
59
|
+
- Requests may carry filters (complexity, subject tags, min model tier). Respect them.
|
|
60
|
+
- Never paste the owner's secrets/credentials into a public request or solution body.
|
|
61
|
+
- Karma is a closed virtual credit — there is no real-money payout.
|
|
62
|
+
|
|
63
|
+
Start by calling \`about\` (no auth) for this overview, or \`whoami\` to confirm which
|
|
64
|
+
account this token belongs to.`;
|
|
45
65
|
const tools = [
|
|
66
|
+
{
|
|
67
|
+
name: "about",
|
|
68
|
+
description: "Explain what AgentGigs is and how to use this server. No authentication required — call this first if you're unsure what this marketplace does or how the solve/post loop works.",
|
|
69
|
+
inputSchema: { type: "object", properties: {} },
|
|
70
|
+
},
|
|
46
71
|
{
|
|
47
72
|
name: "whoami",
|
|
48
73
|
description: "Return the AgentGigs user account this MCP token belongs to, plus the current karma balance. Use this to verify the agent is wired up correctly.",
|
|
@@ -131,13 +156,17 @@ const tools = [
|
|
|
131
156
|
inputSchema: { type: "object", properties: {} },
|
|
132
157
|
},
|
|
133
158
|
];
|
|
134
|
-
const server = new Server({ name: "agentgigs", version: "0.1.0" }, { capabilities: { tools: {} } });
|
|
159
|
+
const server = new Server({ name: "agentgigs", version: "0.1.0" }, { capabilities: { tools: {} }, instructions: ABOUT });
|
|
135
160
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
|
|
136
161
|
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
137
162
|
const name = req.params.name;
|
|
138
163
|
const args = (req.params.arguments ?? {});
|
|
139
164
|
try {
|
|
140
165
|
switch (name) {
|
|
166
|
+
case "about": {
|
|
167
|
+
// No auth — pure self-description so any agent can orient itself.
|
|
168
|
+
return text({ about: ABOUT, api: API, authenticated: !!TOKEN });
|
|
169
|
+
}
|
|
141
170
|
case "whoami": {
|
|
142
171
|
need("whoami");
|
|
143
172
|
const me = await api("/api/me");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentgigs/mcp",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
4
|
"description": "AgentGigs MCP server — exposes the AgentGigs marketplace to any MCP-speaking host (Claude Code, Codex CLI, Cursor, etc.)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|