Skip to content

Commit 4bd6b2b

Browse files
Rename domain from instant.dev to instanode.dev
1 parent 367c9ce commit 4bd6b2b

4 files changed

Lines changed: 37 additions & 37 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# @instant/mcp
22

3-
MCP server for [instant.dev](https://instant.dev) — lets AI agents (Claude Code, etc.) provision databases, caches, queues, storage, webhooks, and deployments without any human input.
3+
MCP server for [instanode.dev](https://instanode.dev) — lets AI agents (Claude Code, etc.) provision databases, caches, queues, storage, webhooks, and deployments without any human input.
44

55
## Install
66

@@ -23,7 +23,7 @@ That's it. No account required to start.
2323

2424
### `list_my_resources`
2525

26-
List all instant.dev resources for the authenticated team.
26+
List all instanode.dev resources for the authenticated team.
2727

2828
Requires `INSTANT_API_KEY` in the environment. Without a key, returns instructions for signing up.
2929

@@ -77,7 +77,7 @@ Set `INSTANT_API_KEY` to use authenticated features (permanent resources, `list_
7777
}
7878
```
7979

80-
Without a key, anonymous provisions expire after 24h. Sign up at [instant.dev/start](https://instant.dev/start) to claim them permanently.
80+
Without a key, anonymous provisions expire after 24h. Sign up at [instanode.dev/start](https://instanode.dev/start) to claim them permanently.
8181

8282
## Development
8383

@@ -88,6 +88,6 @@ npm install
8888
# Build
8989
npm run build
9090

91-
# Test (requires a running instant.dev server)
91+
# Test (requires a running instanode.dev server)
9292
INSTANT_API_URL=http://localhost:32108 bash test.sh
9393
```

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "@instant/mcp",
33
"version": "0.6.0",
4-
"description": "MCP server for instant.dev — lets AI agents provision databases, caches, queues, storage, webhooks, and deploy apps and stacks without human input",
4+
"description": "MCP server for instanode.dev — lets AI agents provision databases, caches, queues, storage, webhooks, and deploy apps and stacks without human input",
55
"keywords": [
66
"mcp",
7-
"instant.dev",
7+
"instanode.dev",
88
"infrastructure",
99
"provisioning"
1010
],

src/client.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
/**
2-
* Thin HTTP client for the instant.dev REST API.
2+
* Thin HTTP client for the instanode.dev REST API.
33
*
44
* Reads INSTANT_API_KEY and INSTANT_API_URL from the environment.
5-
* Falls back to anonymous mode (no key) and https://instant.dev.
5+
* Falls back to anonymous mode (no key) and https://instanode.dev.
66
*/
77

88
import * as child_process from "child_process";
99
import * as fs from "fs";
1010
import * as os from "os";
1111
import * as path from "path";
1212

13-
const DEFAULT_BASE_URL = "https://instant.dev";
13+
const DEFAULT_BASE_URL = "https://instanode.dev";
1414

1515
export interface ClientOptions {
1616
apiKey?: string;
@@ -226,13 +226,13 @@ export class InstantClient {
226226
try {
227227
data = JSON.parse(text);
228228
} catch {
229-
throw new Error(`instant.dev: non-JSON response (${resp.status}): ${text.slice(0, 200)}`);
229+
throw new Error(`instanode.dev: non-JSON response (${resp.status}): ${text.slice(0, 200)}`);
230230
}
231231

232232
if (!resp.ok) {
233233
const err = data as { error?: string; message?: string };
234234
throw new Error(
235-
`instant.dev API error ${resp.status}: ${err.error ?? err.message ?? text.slice(0, 200)}`
235+
`instanode.dev API error ${resp.status}: ${err.error ?? err.message ?? text.slice(0, 200)}`
236236
);
237237
}
238238

@@ -432,13 +432,13 @@ export class InstantClient {
432432
try {
433433
data = JSON.parse(text);
434434
} catch {
435-
throw new Error(`instant.dev: non-JSON response (${resp.status}): ${text.slice(0, 200)}`);
435+
throw new Error(`instanode.dev: non-JSON response (${resp.status}): ${text.slice(0, 200)}`);
436436
}
437437

438438
if (!resp.ok) {
439439
const err = data as { error?: string; message?: string };
440440
throw new Error(
441-
`instant.dev API error ${resp.status}: ${err.error ?? err.message ?? text.slice(0, 200)}`
441+
`instanode.dev API error ${resp.status}: ${err.error ?? err.message ?? text.slice(0, 200)}`
442442
);
443443
}
444444

src/index.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
22
/**
3-
* @instant/mcp — MCP server for instant.dev
3+
* @instant/mcp — MCP server for instanode.dev
44
*
55
* Exposes tools to AI agents (Claude Code, etc.):
66
*
@@ -11,7 +11,7 @@
1111
* provision_queue — provision a NATS JetStream queue
1212
* provision_storage — provision an S3-compatible object storage prefix
1313
* provision_webhook — provision a webhook receiver URL
14-
* deploy_app — deploy a containerized app to instant.dev hosting
14+
* deploy_app — deploy a containerized app to instanode.dev hosting
1515
* deploy_stack — deploy a multi-service stack from an instant.yaml manifest
1616
*
1717
* Install globally for Claude Code:
@@ -36,15 +36,15 @@ import { InstantClient } from "./client.js";
3636
const client = new InstantClient();
3737

3838
const server = new McpServer({
39-
name: "instant.dev",
39+
name: "instanode.dev",
4040
version: "0.6.0",
4141
});
4242

4343
// ── Tool: list_my_resources ───────────────────────────────────────────────────
4444

4545
server.tool(
4646
"list_my_resources",
47-
`List all instant.dev resources provisioned for the authenticated team.
47+
`List all instanode.dev resources provisioned for the authenticated team.
4848
4949
Requires INSTANT_API_KEY to be set in the environment. Without a key, returns an
5050
error explaining how to authenticate.
@@ -62,7 +62,7 @@ expiry time. Useful for auditing what infrastructure is currently provisioned.`,
6262
"INSTANT_API_KEY is not set — cannot list authenticated resources.",
6363
"",
6464
"To authenticate:",
65-
" 1. Sign up at https://instant.dev/start",
65+
" 1. Sign up at https://instanode.dev/start",
6666
" 2. Get your API key from the dashboard",
6767
" 3. Set INSTANT_API_KEY in your environment or pass it to the MCP server config",
6868
"",
@@ -118,7 +118,7 @@ expiry time. Useful for auditing what infrastructure is currently provisioned.`,
118118

119119
server.tool(
120120
"provision_cache",
121-
`Provision a Redis cache instance on instant.dev.
121+
`Provision a Redis cache instance on instanode.dev.
122122
123123
Returns a connection_url the caller can use immediately with any Redis client.
124124
Anonymous (no API key): free tier, expires in 24h, limited memory.
@@ -147,7 +147,7 @@ or in your secrets manager). Use list_my_resources to see provisioned caches.`,
147147
type: "text",
148148
text: [
149149
"Redis provisioning is not yet available on this server.",
150-
"Visit https://instant.dev to use the hosted service.",
150+
"Visit https://instanode.dev to use the hosted service.",
151151
].join("\n"),
152152
},
153153
],
@@ -179,7 +179,7 @@ or in your secrets manager). Use list_my_resources to see provisioned caches.`,
179179

180180
server.tool(
181181
"provision_document_db",
182-
`Provision a MongoDB document database on instant.dev.
182+
`Provision a MongoDB document database on instanode.dev.
183183
184184
Returns a connection_url the caller can use immediately with any MongoDB driver.
185185
Anonymous (no API key): free tier, expires in 24h, limited storage.
@@ -207,7 +207,7 @@ The connection_url is only returned once — store it securely.`,
207207
type: "text",
208208
text: [
209209
"MongoDB provisioning is not yet available on this server.",
210-
"Visit https://instant.dev to use the hosted service.",
210+
"Visit https://instanode.dev to use the hosted service.",
211211
].join("\n"),
212212
},
213213
],
@@ -239,7 +239,7 @@ The connection_url is only returned once — store it securely.`,
239239

240240
server.tool(
241241
"provision_database",
242-
`Provision a PostgreSQL database (with pgvector) using instant.dev. Returns a ready-to-use connection string. No account required — anonymous resources work immediately, expire after 24h unless claimed.`,
242+
`Provision a PostgreSQL database (with pgvector) using instanode.dev. Returns a ready-to-use connection string. No account required — anonymous resources work immediately, expire after 24h unless claimed.`,
243243
{
244244
name: z
245245
.string()
@@ -261,7 +261,7 @@ server.tool(
261261
type: "text",
262262
text: [
263263
"PostgreSQL provisioning is not yet available on this server.",
264-
"Visit https://instant.dev to use the hosted service.",
264+
"Visit https://instanode.dev to use the hosted service.",
265265
].join("\n"),
266266
},
267267
],
@@ -295,7 +295,7 @@ server.tool(
295295

296296
server.tool(
297297
"provision_queue",
298-
`Provision a NATS JetStream message queue using instant.dev. Returns a ready-to-use nats:// connection string. No account required — anonymous resources work immediately, expire after 24h unless claimed.`,
298+
`Provision a NATS JetStream message queue using instanode.dev. Returns a ready-to-use nats:// connection string. No account required — anonymous resources work immediately, expire after 24h unless claimed.`,
299299
{
300300
name: z
301301
.string()
@@ -317,7 +317,7 @@ server.tool(
317317
type: "text",
318318
text: [
319319
"NATS JetStream provisioning is not yet available on this server.",
320-
"Visit https://instant.dev to use the hosted service.",
320+
"Visit https://instanode.dev to use the hosted service.",
321321
].join("\n"),
322322
},
323323
],
@@ -350,7 +350,7 @@ server.tool(
350350

351351
server.tool(
352352
"provision_storage",
353-
`Provision an S3-compatible object storage prefix on instant.dev.
353+
`Provision an S3-compatible object storage prefix on instanode.dev.
354354
355355
Returns S3 credentials (endpoint, bucket, prefix, access_key_id, secret_access_key)
356356
scoped to a per-token prefix within a shared bucket. Works with any S3-compatible
@@ -381,7 +381,7 @@ Store the secret_access_key securely — it is only returned once.`,
381381
type: "text",
382382
text: [
383383
"Object storage provisioning is not yet available on this server.",
384-
"Visit https://instant.dev to use the hosted service.",
384+
"Visit https://instanode.dev to use the hosted service.",
385385
].join("\n"),
386386
},
387387
],
@@ -424,10 +424,10 @@ Store the secret_access_key securely — it is only returned once.`,
424424

425425
server.tool(
426426
"provision_webhook",
427-
`Provision a webhook receiver URL on instant.dev.
427+
`Provision a webhook receiver URL on instanode.dev.
428428
429429
Returns a receive_url that accepts any HTTP method from any sender. Payloads are
430-
stored and retrievable via the instant.dev dashboard or API.
430+
stored and retrievable via the instanode.dev dashboard or API.
431431
432432
Useful for: testing webhooks locally, inspecting Stripe/GitHub/Slack payloads
433433
during development, building integrations without exposing a local port.
@@ -455,7 +455,7 @@ Authenticated (INSTANT_API_KEY set): tied to your team's plan with higher limits
455455
type: "text",
456456
text: [
457457
"Webhook receiver provisioning is not yet available on this server.",
458-
"Visit https://instant.dev to use the hosted service.",
458+
"Visit https://instanode.dev to use the hosted service.",
459459
].join("\n"),
460460
},
461461
],
@@ -492,7 +492,7 @@ Authenticated (INSTANT_API_KEY set): tied to your team's plan with higher limits
492492

493493
server.tool(
494494
"deploy_app",
495-
"Deploy a containerized app to instant.dev hosting. The source directory must contain a Dockerfile. Returns the deployment ID and app URL once healthy.",
495+
"Deploy a containerized app to instanode.dev hosting. The source directory must contain a Dockerfile. Returns the deployment ID and app URL once healthy.",
496496
{
497497
source_dir: z.string().optional().describe("Path to source directory containing Dockerfile (default: current directory '.')"),
498498
name: z.string().optional().describe("Human-readable name for the deployment"),
@@ -511,7 +511,7 @@ server.tool(
511511
type: "text",
512512
text: [
513513
"App deployment is not yet available on this server.",
514-
"Visit https://instant.dev to use the hosted service.",
514+
"Visit https://instanode.dev to use the hosted service.",
515515
].join("\n"),
516516
},
517517
],
@@ -532,7 +532,7 @@ server.tool(
532532
if (result.note) lines.push(`Note: ${result.note}`);
533533
lines.push(
534534
``,
535-
`Poll status at https://instant.dev/dashboard or use GET /deploy/${result.id}`
535+
`Poll status at https://instanode.dev/dashboard or use GET /deploy/${result.id}`
536536
);
537537
return { content: [{ type: "text", text: lines.join("\n") }] };
538538
}
@@ -542,7 +542,7 @@ server.tool(
542542

543543
server.tool(
544544
"deploy_stack",
545-
`Deploy a multi-service stack from an instant.yaml manifest. Reads the manifest from the current directory, creates Docker images for each service, and deploys them to instant.dev infrastructure. All services share an isolated namespace and can communicate via service:// DNS.`,
545+
`Deploy a multi-service stack from an instant.yaml manifest. Reads the manifest from the current directory, creates Docker images for each service, and deploys them to instanode.dev infrastructure. All services share an isolated namespace and can communicate via service:// DNS.`,
546546
{
547547
manifest_path: z
548548
.string()
@@ -554,7 +554,7 @@ server.tool(
554554
.string()
555555
.optional()
556556
.describe(
557-
"Authentication token from instant.dev (required for authenticated deployments)"
557+
"Authentication token from instanode.dev (required for authenticated deployments)"
558558
),
559559
},
560560
async ({ manifest_path, token }) => {
@@ -571,7 +571,7 @@ server.tool(
571571
type: "text",
572572
text: [
573573
"Stack deployment is not yet available on this server.",
574-
"Visit https://instant.dev to use the hosted service.",
574+
"Visit https://instanode.dev to use the hosted service.",
575575
].join("\n"),
576576
},
577577
],

0 commit comments

Comments
 (0)