A real Postgres database and S3-compatible storage, ready
in seconds, priced for side projects. Built for the moment
your agent asks for a DATABASE_URL, a bucket,
and access keys.
Connect Codex, Claude Code, Cursor, Gemini, Lovable, Bolt, Windsurf, IDEs, or web clients to Nyas MCP so agents can provision databases, run SQL, and manage storage.
Run
curl -LsSf
https://app.nyas.io/install.sh |
sh
in your terminal.
Run nyas login so the local MCP
process can use your Nyas account.
Use OAuth when your hosted MCP client opens a Nyas sign-in flow. Use a bearer token only when the client cannot complete OAuth but can send custom HTTP headers.
Your agent can create projects, inspect schemas, run SQL, get credentials, and manage storage buckets.
{
"mcpServers": {
"nyas": {
"command": "nyas",
"args": ["mcp"]
}
}
}
[mcp_servers.nyas] command = "nyas" args = ["mcp"]
Name: Nyas
Remote MCP server URL: https://api.nyas.io/mcp
OAuth path:
- Choose this when the client supports remote MCP OAuth.
- Use Nyas as the server name and https://api.nyas.io/mcp as the server URL.
- Leave OAuth client ID and secret blank unless your client explicitly asks for them.
- The client will open a Nyas approval/sign-in flow and store the token itself.
Bearer token path:
- Choose this only when your client cannot do OAuth but can send headers.
- Create or copy your Nyas account API key from the dashboard.
- Set NYAS_API_KEY in the environment where the MCP client runs.
- Send Authorization: Bearer ${NYAS_API_KEY} on requests to https://api.nyas.io/mcp.
{
"mcpServers": {
"nyas": {
"type": "streamable-http",
"url": "https://api.nyas.io/mcp",
"headers": {
"Authorization": "Bearer ${NYAS_API_KEY}"
}
}
}
}
Use the Nyas MCP server to create a project with Postgres and storage for this app. Connect the Nyas MCP server at https://api.nyas.io/mcp, then create a Postgres project and storage bucket for this app. Create a Nyas storage bucket for user uploads. Inspect my Nyas database schema and help me add tables for uploaded file metadata. Create S3 access keys and show me the environment variables for my app.
curl -LsSf https://app.nyas.io/install.sh | sh nyas --version nyas login nyas mcp --help
No proprietary client. Paste the Postgres connection string into your ORM, then use the bucket, endpoint, and access keys with any S3-compatible SDK.
// Node.js with postgres.js + AWS S3 SDK import postgres from 'postgres' import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3' const sql = postgres(process.env.DATABASE_URL) const storageKey = 'avatars/user-1.png' const s3 = new S3Client({ endpoint: process.env.STORAGE_ENDPOINT, region: process.env.STORAGE_REGION, credentials: { accessKeyId: process.env.ACCESS_KEY, secretAccessKey: process.env.SECRET_KEY, }, forcePathStyle: true, }) await s3.send(new PutObjectCommand({ Bucket: process.env.STORAGE_BUCKET, Key: storageKey, Body: avatarBuffer, })) await sql` INSERT INTO files (owner_id, storage_key) VALUES (${userId}, ${storageKey}) `
# Python with psycopg + boto3 import psycopg import boto3 import os s3 = boto3.client( "s3", endpoint_url=os.environ["STORAGE_ENDPOINT"], region_name=os.environ["STORAGE_REGION"], aws_access_key_id=os.environ["ACCESS_KEY"], aws_secret_access_key=os.environ["SECRET_KEY"], ) s3.upload_file("report.pdf", os.environ["STORAGE_BUCKET"], "reports/report.pdf") with psycopg.connect(os.environ["DATABASE_URL"]) as conn: with conn.cursor() as cur: cur.execute(""" INSERT INTO files (storage_key, content_type) VALUES (%s, %s) """, ("reports/report.pdf", "application/pdf"))
// Go with pgx and any S3-compatible client package main import ( "context" "os" "github.com/jackc/pgx/v5" ) func main() { conn, _ := pgx.Connect(context.Background(), os.Getenv("DATABASE_URL")) defer conn.Close(context.Background()) var count int conn.QueryRow(context.Background(), "SELECT count(*) FROM users").Scan(&count) // Configure your S3 client with STORAGE_ENDPOINT, STORAGE_BUCKET, // ACCESS_KEY, and SECRET_KEY from the same Nyas project. }
# Paste this into your agent's .env and keep building. # Works with Cursor, Claude Code, Windsurf, Copilot, anything. DATABASE_URL=postgres://u_9f2x:pw@db.nyas.io:5432/sandbox_42 STORAGE_ENDPOINT=https://project_id.storage.nyas.io/v1/s3 STORAGE_REGION=ap-south-1 STORAGE_BUCKET=user-uploads ACCESS_KEY=019dc51f673a77b09c204ef4453b6abc SECRET_KEY=LK6BNCAwVevu6YHTSp6rCNvCp0yFIiTjgPUbgdYs # Then just tell your agent: # "Use these Nyas env vars. Store uploaded avatars in S3, # and keep each object's metadata in Postgres."
Six things that matter, done well. Nothing you didn't ask for.
One curl, one connection string, one
storage endpoint. No dashboard tour, no project
wizard, no waiting. From landing page to first query
and first bucket in under a minute.
Unmodified Postgres 18. Your ORM, your SQL, your
extensions. pgvector,
pg_trgm, postgis, all the
usual suspects. Leave anytime with
pg_dump.
Drop the database and storage vars into Cursor,
Claude Code, Windsurf, or any agent's
.env. Let it run migrations, seed data,
upload files, and break things.
Read replicas, connection pooling, and room for file growth on paid tiers. Scale read traffic and object storage without rewrites when the prototype catches on.
Daily backups on Starter (7 days) and Growth (14 days). Point-in-time recovery when you accidentally drop the wrong table at 2am. Your weekend build stays safe.
S3-compatible object storage in the same place as your database. Existing S3 SDKs work with generated buckets and access keys for uploads, assets, model checkpoints, and PDFs for RAG.
We’re intentionally small. If you’re looking for a full backend or complex branching workflows, there are tools for that. If you just want Postgres and S3-compatible storage ready quickly so you can start building, you’re in the right place.
Give your coding agent real Postgres and S3-compatible storage it can drop, reseed, upload to, and break. Throw the sandbox away when the task is done.
Run
curl -LsSf app.nyas.io/install.sh |
sh. You have a connection string, bucket,
endpoint, and access keys in under a minute.
Drop the env vars into .env and
tell your agent to use them. Works with
every framework, ORM, and S3 SDK.
Migrations. Seed data. Schema rewrites. Test uploads. Destructive queries. It's a sandbox. Nothing real is on fire.
Ship the project and upgrade the resources, or delete them and start fresh tomorrow. Same shapes across tiers.
Pay in rupees with UPI, or in USD if that's easier. Annual billing gets you 20% off. No per-query charges. Your bill will not surprise you.
If it isn't here, email manish@nyas.io. You'll hear back from a human, usually the one who wrote the code.
It's unmodified PostgreSQL-18. No proprietary dialect, no custom client library, no Nyas-specific schema to learn. Your existing ORM (Prisma, Drizzle, SQLAlchemy, GORM, ActiveRecord, anything that speaks Postgres) works without changes.
Standard tools like pg_dump and
pg_restore work normally, which
means you can leave whenever you want.
Every Nyas database comes with the following extensions pre-installed and ready to use, no extra setup required:
| Extension | Purpose |
|---|---|
fuzzystrmatch |
Fuzzy string matching: Soundex, Levenshtein, Metaphone |
hstore |
Key-value pairs stored in a single column |
ltree |
Hierarchical tree-like data: labels, paths, ancestry queries |
pg_graphql |
GraphQL support directly inside PostgreSQL |
pg_stat_statements
|
Query performance statistics |
pg_trgm |
Trigram-based fuzzy text search and similarity scoring |
pgcrypto |
Cryptographic functions: hashing, encryption, UUID generation |
plpgsql |
PL/pgSQL procedural language for stored procedures and triggers |
postgres_fdw |
Foreign data wrapper for querying remote PostgreSQL databases |
tablefunc |
Cross-tab queries and other table-function utilities |
uuid-ossp |
UUID generation functions |
Yes. Nyas provides a built-in proxy that supports both connection pooling and transaction pooling modes, useful for serverless functions, edge runtimes, and apps that open many short-lived database connections.
Your pooled connection string and proxy settings are available in your project dashboard. Use the direct connection string for long-running processes (background workers, migrations) and the pooled connection string everywhere else.
For full agent control, install the Nyas CLI
with
curl -LsSf
https://app.nyas.io/install.sh |
sh, run nyas login, then add an
MCP server with command nyas
and args ["mcp"]. Restart your
MCP client after login.
For simpler workflows, paste the standard
Postgres connection string and storage
credentials into your agent's environment or
.env file. Use
DATABASE_URL for SQL and the
S3-compatible endpoint, bucket, access key,
and secret key with normal S3 SDKs. The MCP
path lets agents create projects, run SQL,
inspect schemas, get credentials, and manage
storage. See the examples repo for full
workflows:
github.com/nyastech/nyas-examples.
Yes, both directions, using standard Postgres and S3-compatible tooling.
In:
pg_restore from a dump, or
\copy from CSV, or logical
replication from an existing Postgres.
Out:
pg_dump against your Nyas
connection string gives you a portable SQL
dump you can restore anywhere else. For
storage, use any S3-compatible CLI or SDK to
copy objects in or out of your bucket.
There's no proprietary export format and no lock-in layer. If Nyas stops being the right fit for you, you can leave in minutes.
You get a warning email before anything is throttled or paused. We don't auto-charge a card you haven't given us. You decide whether to upgrade to Starter, clean up data, or wait.
Free tier limits today: 500 MB database, 1 GB file storage, 2 projects, 1 GB egress per month.
Yes. Paid plans can be paid in INR through RazorPay, which means UPI, Indian credit cards, net banking, and wallets all work. USD billing is also available if you're outside India or expensing to an international card.
Annual billing gets you 20% off. There are no per-query or per-operation charges, so your bill won't spike from a runaway loop. Overages on storage and egress are billed at a fixed rate per GB (₹10 / $0.09).
Backups: Daily automated backups on Starter (7-day retention) and Growth (14-day retention). Free tier is best effort, appropriate for sandboxes.
Uptime: 99.9% SLA on paid tiers.
Support: Community Discord for free, email for Starter, priority WhatsApp/Slack for Growth.
If something breaks: Email manish@nyas.io or open an issue at github.com/nyastech/nyas-examples/issues. We're a small team, you'll hear back from a human, usually the one who wrote the code.