@netpad/mcp-server-remote
v1.5.2
Published
Remote MCP server for NetPad - deployable to Vercel for Claude custom connectors. Includes all 80+ tools from @netpad/mcp-server.
Readme
@netpad/mcp-server-remote
Remote MCP server for NetPad, deployable to Vercel for use with Claude Custom Connectors.
Build forms in minutes, not hours. Describe what you need to Claude, get a working form with one click.
Learn more at netpad.io/mcp
Overview
This package provides a remote HTTP-based MCP server that can be used as a Claude Custom Connector. Unlike the stdio-based @netpad/mcp-server (for Claude Desktop), this server runs as a web service that Claude can connect to over the internet.
Features:
- All 80+ tools from
@netpad/mcp-server- forms, workflows, extensions, templates, data browser, and more - One-click import links - Generate shareable URLs that import forms directly into NetPad
- API key authentication using your existing NetPad API keys (
np_live_xxxornp_test_xxx) - Ready to deploy to Vercel
Build from Claude
The most powerful way to use NetPad is through conversational building:
You: "I need a customer feedback form with rating, comments, and contact info"
Claude: I've generated your feedback form with:
- Star rating field (1-5)
- Comments textarea with 500 character limit
- Email and phone fields with validation
Click to import: https://netpad.io/import/imp_abc123That's it. One conversation, one click, working form.
Quick Start
1. Get Your NetPad API Key
- Go to netpad.io/settings
- Click the API Keys tab
- Click Create API Key
- Give it a name like "Claude MCP Connector"
- Select permissions (recommended:
forms:read,submissions:read) - Copy the generated key (starts with
np_live_ornp_test_)
Important: The full key is only shown once. Save it securely!
2. Deploy to Vercel
cd packages/mcp-server-remote
npm install
vercel --prodOr deploy via the Vercel dashboard by importing this directory.
3. Configure Environment Variables (Optional)
By default, the server validates API keys against the NetPad API at https://netpad.io.
For self-hosted NetPad or development:
| Variable | Required | Description |
|----------|----------|-------------|
| NETPAD_API_URL | No | NetPad API base URL (default: https://netpad.io) |
4. Configure in Claude
Go to Claude Settings > Connectors
Click "Add custom connector"
Enter your connector name:
NetPadEnter your Vercel deployment URL:
https://your-app.vercel.app/mcpClick "Advanced settings"
In the OAuth Client Secret field, enter your NetPad API key:
np_live_xxxxxNote: Claude's custom connector UI uses OAuth fields, but we use them for Bearer token auth.
Click Add
5. Use in Conversations
In any Claude conversation, enable the NetPad connector via the "+" menu > Connectors.
Authentication
All requests to the MCP server require a valid NetPad API key in the Authorization header:
Authorization: Bearer np_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxHow It Works
- You send a request with your NetPad API key
- The MCP server validates the key against the NetPad API (
/api/v1/auth/validate) - Valid keys are cached for 5 minutes to reduce API calls
- The request proceeds if the key is valid
Error Responses
| Status | Code | Description |
|--------|------|-------------|
| 401 | MISSING_API_KEY | No Authorization header provided |
| 401 | INVALID_AUTH_FORMAT | Header doesn't use Bearer format |
| 401 | INVALID_API_KEY_FORMAT | Key doesn't start with np_live_ or np_test_ |
| 401 | INVALID_API_KEY | Key is invalid, expired, or revoked |
| 403 | INSUFFICIENT_PERMISSIONS | Key lacks required permissions |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests |
Key Management
Manage your API keys at netpad.io/settings:
- Create new keys with specific permissions
- Revoke compromised keys (takes effect immediately)
- Monitor usage statistics
- Set expiration dates for temporary access
Available Tools (80+)
The remote server includes all tools from @netpad/mcp-server:
0. Import & Sharing (1 tool) - KEY FEATURE
create_import_link- Generate shareable one-click import URLs for any form configuration
1. Form Building (6 tools)
generate_form- Generate complete form configurations (includes import URL in output)generate_field- Create individual field configurationsgenerate_conditional_logic- Create show/hide logicgenerate_computed_field- Create formula-based fieldsgenerate_multipage_config- Multi-page wizard configurationsvalidate_form_config- Validate form configurations
2. Application Management (7 tools)
create_application- Generate code to create applicationsgenerate_application_contract- Define API contractsgenerate_application_release- Create versioned releases- And more...
3. Marketplace & npm (8 tools)
publish_to_marketplace- Publish applicationssearch_marketplace- Search for applicationsinstall_from_npm- Install from npm registry- And more...
4. Workflow Automation (10 tools)
create_workflow- Generate workflow configurationsadd_workflow_node- Add nodes to workflowsconnect_workflow_nodes- Connect nodes with edgeslist_workflow_node_types- Browse 25+ node types- And more...
5. Conversational & Search Forms (11 tools)
create_conversational_form- AI-powered conversational formsconfigure_rag_settings- Enable RAG with document retrievalcreate_search_form- Build MongoDB search interfaces- And more...
6. Enhanced Templates (5 tools)
list_form_templates- Browse 25+ form templatesget_form_template- Get template detailscreate_form_from_template- Create with customizations- And more...
7. Data Browser (12 tools)
generate_connection_config- Configure MongoDB connectionsgenerate_data_browser_query- Generate find/aggregate queriesgenerate_aggregation_pipeline- Build aggregation pipelinesgenerate_index_recommendations- Get index suggestions- And more...
8. Extension Development (5 tools) - NEW
generate_extension- Generate complete extension packageslist_node_categories- List workflow node categorieslist_config_field_types- List configuration field typeslist_workflow_icons- List commonly used iconslist_workflow_colors- List suggested colors
9. Consolidated Reference Tools
get_reference- Unified access to all reference documentationbrowse_templates- Browse all 40+ templates with filtering
10. Legacy Reference & Helper (16 tools)
- Documentation, best practices, debugging tools
Local Development
# Install dependencies
npm install
# Create .env.local
cp .env.example .env.local
# Set your local NetPad URL (if running NetPad locally)
# NETPAD_API_URL=http://localhost:3000
# Run locally with Vercel CLI
npm run dev
# The server will be available at http://localhost:3000/mcpTesting Authentication Locally
# Test with your NetPad API key
curl -X POST http://localhost:3000/mcp \
-H "Authorization: Bearer np_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Test without API key (should return 401)
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'API Endpoints
| Endpoint | Auth Required | Description |
|----------|---------------|-------------|
| GET / | No | Server info and documentation |
| GET /health | No | Health check endpoint |
| GET /mcp | Yes | SSE stream for MCP communication |
| POST /mcp | Yes | JSON-RPC message endpoint |
Architecture
This server uses the MCP SDK's StreamableHTTPServerTransport which implements the MCP Streamable HTTP transport specification. It supports:
- Server-Sent Events (SSE) for server-to-client messages
- HTTP POST for client-to-server messages
- Session management via
Mcp-Session-Idheader - Bearer token authentication via NetPad API
Code Sharing
The remote server imports createNetPadMcpServer() from @netpad/mcp-server, ensuring both servers have identical tool capabilities. Any updates to the main MCP server automatically apply to the remote server.
Authentication Flow
┌─────────┐ ┌───────────────────┐ ┌────────────┐
│ Claude │────▶│ MCP Server Remote │────▶│ NetPad │
│ │ │ (Vercel) │ │ API │
└─────────┘ └───────────────────┘ └────────────┘
│ │ │
│ 1. Request with │ │
│ API key │ │
│──────────────────▶│ │
│ │ 2. Validate key │
│ │─────────────────────▶│
│ │ │
│ │ 3. Key info │
│ │◀─────────────────────│
│ │ │
│ 4. MCP Response │ (cached 5 min) │
│◀──────────────────│ │Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| NETPAD_API_URL | No | NetPad API base URL (default: https://netpad.io) |
Security Considerations
- Centralized Key Management: Keys are managed in NetPad, not in environment variables
- Instant Revocation: Revoked keys stop working within 5 minutes (cache TTL)
- Usage Tracking: All key usage is logged in NetPad
- Rate Limiting: Respects NetPad's per-key rate limits
- HTTPS: Always use HTTPS in production (Vercel provides this automatically)
- Permissions: Keys can be scoped to specific permissions
Example: Build and Share a Form
User: Create a job application form with resume upload and let me share it with HR
Claude: [Uses generate_form, then create_import_link]
I've created your job application form with:
- Resume upload (PDF, DOC, DOCX - max 10MB)
- Experience level dropdown
- Availability date picker
- Contact information
Shareable import link: https://netpad.io/import/imp_xyz789
Share this link with your HR team - they can click it to instantly
import the form into their NetPad workspace. The link expires in 7 days.Related Packages
- @netpad/mcp-server - Local stdio MCP server for Claude Desktop (no auth required)
- NetPad Platform - Full form builder platform
- NetPad MCP Guide - Learn about building with Claude
- Documentation - MCP server documentation
Version History
| Version | Changes |
|---------|---------|
| 1.5.0 | One-click import links via create_import_link tool, import URLs in generate_form output |
| 1.1.0 | Full parity with @netpad/mcp-server (80+ tools), imports shared server factory |
| 1.0.1 | Initial release with subset of tools |
License
Apache-2.0
