Developers / MCP
Nightjar MCP server for your assistant.
Connect Nightjar to Claude, Claude Code, Codex or any MCP client, and the assistant can make studio-quality photos of your real products, import them from a link, apply your saved looks and run whole catalog batches. You sign in with your Nightjar account; there is no API key to manage.
https://mcp.nightjar.so/mcp- Server URL
- https://mcp.nightjar.so/mcp
- Transport
- Streamable HTTP
- Sign-in
- OAuth 2.1 with PKCE, dynamic client registration and client ID metadata documents
- Scopes
- read, write
- Clients
- Claude, Claude Code, Codex, ChatGPT workspaces and other MCP clients
- Cost
- Free to connect. Images use your Nightjar credits.
New to Nightjar? See what it makes in Claude.
Connect a client
Every client uses the same server URL. Connecting is free and starts no work; you choose the Team whose products, Library and credits the assistant can use.
Claude
- 1In Claude, open Customize, then Connectors.
- 2Click +, then Add custom connector. Name it Nightjar and paste the URL above.
- 3Click Connect, sign in to Nightjar, choose your Team and approve.
- 4Start a new chat and ask Claude to check your Nightjar connection.
Available on every Claude plan, including Free, which allows one custom connector. On Team and Enterprise, an Owner first adds Nightjar in Organization settings, then Connectors; members connect their own account from Customize, then Connectors. Once added on the web, Nightjar also works in the desktop app, Cowork and the Claude mobile apps.
Claude Code
- 1Add the server from your terminal:
claude mcp add --transport http nightjar https://mcp.nightjar.so/mcp - 2In Claude Code, run
/mcp, choose nightjar and sign in when your browser opens. - 3Choose your Team, approve, and return to the terminal.
/mcp shows Nightjar as connected once you are signed in. To use it in every project, add --scope user to the command.
Codex
- 1Add the server:
codex mcp add nightjar --url https://mcp.nightjar.so/mcp - 2Sign in:
codex mcp login nightjar - 3Choose your Team in the browser, approve, and start a new session.
Other MCP clients
Any client that supports remote servers over Streamable HTTP with OAuth can connect. Point it at the server URL. It finds the sign-in server through https://mcp.nightjar.so/.well-known/oauth-protected-resource/mcp and registers itself. Clients configured with JSON usually take:
{
"mcpServers": {
"nightjar": {
"url": "https://mcp.nightjar.so/mcp"
}
}
}ChatGPT workspaces
OpenAI currently allows custom apps that create things, rather than only read, in ChatGPT Business, Enterprise and Edu workspaces, on ChatGPT on the web. A workspace admin or owner sets Nightjar up once; members then connect their own Nightjar account.
- 1Turn on developer mode. On Business, an admin or owner turns it on for themselves while creating the app. On Enterprise and Edu, it is under Settings, then Apps, then Advanced settings, and admins can grant it to other members.
- 2In Workspace settings, open Apps, then Create. Name it Nightjar, paste
https://mcp.nightjar.so/mcpand choose OAuth. - 3Click Scan Tools, sign in to Nightjar, choose a Team and approve. Then click Create. The app is saved as a draft.
- 4Test it in a new chat by selecting Nightjar from the tools menu.
- 5In Workspace settings, open Apps, then Drafts, and publish Nightjar to the workspace.
Sign-in, Teams and permissions
Adding the server opens a Nightjar sign-in page in your browser. Sign in, choose one Team and review the permissions. The connection uses that Team’s products, Library, Recipes and credits, and your current access to it: leaving the Team or revoking the connection ends its access.
| Scope | Allows |
|---|---|
read | Browse Products, Recipes, styles and models, inspect images and read batches. |
write | Upload photos, create and edit images, save Products and Recipes, run batches and delete with review. |
A read-only connection never sees the tools that create or change anything. Access tokens last 15 minutes and renew automatically with a 30-day refresh token, so you rarely sign in again. Clients that ask for offline_access, such as ChatGPT, get the same refresh token and no extra access.
What to ask
Talk to the assistant the way you would brief a photographer. Attach a photo, name a saved Product or paste a product link.
- “Check which Nightjar Team I connected.”
- “Make a square main image of this on pure white for Amazon.”
- “Import my product from this link and show me the photos before saving it.”
- “Show me Fashion Models in their thirties, then put this jacket on the one I pick.”
- “Make a photoshoot of my candle on warm oak, evening light.”
- “Save this setup as a Recipe called Summer.”
- “Apply Summer to every product in my Linen collection. Show me three samples first.”
- “Remove the glass from the second photo, then upscale it to 4K.”
Nightjar photographs real products. It works from your photos or saved Products, not from a description of something that doesn’t exist yet.
Tools
The assistant picks tools for you; you never need to name them. They are listed here for builders and for anyone reviewing what the connection can do.
Connection
| Tool | What it does |
|---|---|
get_connection | The connected Team, its permissions and current prices. |
Photos
| Tool | What it does |
|---|---|
create_upload | A short-lived destination for one JPEG, PNG or WebP photo, up to 70 MiB. |
complete_upload | Save an uploaded photo to the Team Library. |
create_upload_link | A signed-in Nightjar page where you add up to eight photos yourself. |
get_upload_session | The photos saved through that page once you press Done. |
inspect_asset | A preview the assistant can see, plus the original download link. |
Images
| Tool | What it does |
|---|---|
generate_product_visual | One to six product photos from Products, photos or both, with optional style, model, pose, background and framing. |
create_photoshoot | Four varied photos for a flat 2 credits. |
edit_image | Change an existing image in plain words. One output. |
upscale_image | Enlarge one image to 2K or 4K, keeping its aspect ratio. |
get_generation | Progress, credits held and charged, and finished images with preview and original links. |
Products
| Tool | What it does |
|---|---|
list_products | Browse the Team’s saved Products. |
get_product | A Product’s details, photos and edit revision. |
create_product | Save a Product from existing photos. Free. |
update_product | Save reviewed details, photos and the Main photo. Free. |
preview_product_link | Prepare a review of one public product page without saving anything. |
get_product_import | Read the review, waiting up to 20 seconds, and inspect candidate photos. |
confirm_product_import | Save the approved details and one to ten chosen photos. |
Styles, models and Recipes
| Tool | What it does |
|---|---|
list_ingredients | Browse premade and Team Photography Styles, Backgrounds, Poses and Fashion Models. |
get_ingredient | One Style, Background, Pose or Fashion Model with its previews. |
create_ingredient | Save a new Style, Background, Pose or Fashion Model from your images. |
update_ingredient | Save reviewed changes to one you own. |
get_ingredient_operation | Progress and actual charge for a create or update. |
create_picker | A visual picker for Products or references, in the chat or the browser. |
get_picker | What you chose in the picker, by ID and name. |
cancel_picker | Close a picker without choosing. |
list_recipes | Browse the Team’s saved Recipes. |
get_recipe | A Recipe’s settings, ready to apply to new products. |
create_recipe | Save the current settings as a Recipe. Free. |
rename_recipe | Rename a Recipe. |
Batches
| Tool | What it does |
|---|---|
create_batch | Plan 1 to 100 items with their costs. Free, and starts nothing. |
get_batch | The plan, progress, results and spending so far. |
list_batches | Find the Team’s batches from any conversation. |
approve_batch | Approve the sample, or the rest after the sample. |
pause_batch | Hold unstarted items and release their credits. |
resume_batch | Continue unstarted items after reviewing the cost. |
stop_batch | End the batch. Items already running still finish. |
authorize_batch_refinement | Record an agreed brief and total budget for improving results. |
refine_batch | Run one refinement round inside that budget. |
Deletion
| Tool | What it does |
|---|---|
prepare_deletion | Review exactly what 1 to 50 selected items would remove. Deletes nothing. |
confirm_deletion | Apply a reviewed deletion after your explicit confirmation. |
One more tool, confirm_picker, is hidden from the assistant. Only your own choice in a picker can confirm a selection.
Credits and approval
| Work | Credits |
|---|---|
| Product photo or edit at 1K or 2K | 1 per image |
| Product photo or edit at 4K | 2 per image |
| Photoshoot, four photos | 2 in total |
| Upscale to 2K or 4K | 1 or 2 |
| Connecting, uploads, link imports, Products, Recipes, pickers, batch plans | Free |
New Nightjar accounts start with 6 free credits and no credit card. Plans start at US$25 a month for 150 credits; see pricing.
Every paid tool takes max_credits, the ceiling you approved. A request that would cost more returns credit_approval_required before anything is reserved, so the assistant tells you the price first. get_connection reports current prices.
Paid requests also carry a request_key. Repeating the same key and input after a dropped connection returns the original job instead of starting and charging again. While images are running, get_generation can wait up to 20 seconds per call with wait_seconds; waiting is free.
If the Team needs a plan or more credits, the assistant returns a signed-in Nightjar billing link for that Team. Returning from checkout never starts images on its own.
Batches
For a catalog, the assistant plans a batch of 1 to 100 items: the same setup across many Products, or different work per item. The plan shows the sources, settings, number of images and cost, and planning is free.
For a new look, you approve a few samples first, review them, then approve the rest. The batch keeps running after you close the chat; ask for your batches in any new conversation to pick it up. Pausing or stopping releases credits held for unstarted items, and nothing that finished or failed is rerun without your approval.
To let the assistant improve results on its own, agree a brief and a total credit budget. It records that with authorize_batch_refinement and can never spend past it.
Limits
| Limit | Value |
|---|---|
| Input photos per image request | 5 |
| Images per request | 1 to 6, or 4 for a Photoshoot |
| Resolution | 1K, 2K or 4K |
| Photo uploads | JPEG, PNG or WebP, up to 70 MiB |
| Upload link | Up to 8 photos, open for 30 minutes |
| Visual picker | Open for 30 minutes |
| Product link review | Expires after 10 minutes |
| Batch size | 1 to 100 items, including refinements |
| Product saves | 100 changes per connection per hour |
| Deletion review | 1 to 50 items, expires after 15 minutes |
| Access token | 15 minutes, renewed with a 30-day refresh token |
Troubleshooting
- The assistant can’t send your photo to Nightjar
- Some chat apps limit where their sandbox can upload. Ask for a Nightjar upload link, add your photos on that page and press Done, then tell the assistant you finished.
- A new Nightjar tool is missing
- In Claude, open the Nightjar connector and refresh its tools list, then start a new chat. Existing chats keep the tools they started with.
- Wrong account or Team
- Disconnect, connect again and choose the right Team on the Nightjar approval page.
- No tools that create images
- The connection is read-only. Reconnect and approve write access.
- Sign-in expired or was cancelled
- Start connecting again from the assistant and finish in the same browser.
- Not enough credits
- Follow the billing link the assistant returns, or ask the Team owner to add credits.
Still stuck? Email hello@nightjar.so with the client you use and roughly when it happened. Never send tokens or passwords.
Disconnect
| Client | How |
|---|---|
| Claude | Customize, then Connectors: open Nightjar and disconnect or remove it. |
| Claude Code | In /mcp, choose nightjar and clear authentication, or run claude mcp remove nightjar. |
| Codex | codex mcp logout nightjar, or codex mcp remove nightjar. |
| ChatGPT | A workspace admin removes the app in Workspace settings, then Apps. |
Access ends immediately. Images you already made stay in your Nightjar Library.
Privacy and security
The assistant only sees what the connected Team can see, and only through the scopes you approved. Product pages, file names, batch names and directions are treated as content, never as instructions to the assistant. Deleting always shows you a review first and needs your explicit confirmation.
Nightjar does not use your uploads or generated images to train models for other customers unless you opt in. Read the Privacy Policy and Terms of Service.
Claude and Claude Code are trademarks of Anthropic, PBC. ChatGPT and Codex are trademarks of OpenAI. Nightjar is not affiliated with either.