Onboarded MCP Server
Enables AI assistants to interact with the Onboarded platform through automatic API discovery and execution, with entity memory persistence and optional source code access from local repositories.
README
Onboarded MCP Server
An MCP (Model Context Protocol) server that enables AI assistants like Warp to interact with the Onboarded platform. It provides:
- API Discovery — Automatically fetch and search OpenAPI specs to find available operations
- API Execution — Execute any Onboarded API operation with automatic authentication
- Entity Memory — Persist created entity IDs locally so the agent can reference them later
- Source Code Access — Optionally read files from your local Onboarded repository
Credentials are stored securely in macOS Keychain and shared with onboarded-cli — tokens never appear in MCP tool calls or responses.
Setup
Prerequisites
- Node.js 18+
- git
- onboarded-cli — github.com/OnboardedInc/Onboarded-CLI
Quick Setup (Recommended)
The onboarded CLI handles everything automatically:
onboarded mcp setup
This interactive command will:
- Ask where to install (default:
./onboarded-mcpin the current directory) - Clone this repository
- Run
npm installandnpm run build - Add the server to Warp's MCP config (
~/.warp/mcp.json) - Optionally configure the Onboarded repo path for
repo_readtool
After setup completes:
- Restart Warp to load the MCP server
- Authenticate:
onboarded auth login <profile-name>
Manual Setup
If you prefer to set up manually:
# Clone and build
git clone https://github.com/OnboardedInc/onboarded-mcp.git /ABSOLUTE/PATH/TO/onboarded-mcp
cd /ABSOLUTE/PATH/TO/onboarded-mcp
npm install
npm run build
Add to ~/.warp/mcp.json:
{
"mcpServers": {
"onboarded": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/onboarded-mcp/dist/index.js"]
}
}
}
Optionally create ~/.config/onboarded-mcp/config.json for repo_read tool:
{
"onboardedRepoPath": "/ABSOLUTE/PATH/TO/onboarded"
}
Available Tools
Discovery Tools
| Tool | Description |
|---|---|
spec_sync |
Fetch and cache OpenAPI specs from Onboarded APIs |
ops_search |
Search for API operations by keyword |
ops_describe |
Get detailed parameter and schema info for an operation |
Execution Tools
| Tool | Description |
|---|---|
api_call |
Execute any API operation by operationId |
auth_status |
Check if credentials exist for a profile |
State Tools
| Tool | Description |
|---|---|
state_put |
Store an entity reference (ID, name, type) |
state_query |
Query stored entities with filters |
state_get |
Get a stored entity by internal or external ID |
state_delete |
Remove an entity from local storage |
Repository Tools (optional)
Requires onboardedRepoPath to be configured.
| Tool | Description |
|---|---|
repo_read |
Read a file from the local Onboarded repository |
repo_list |
List files in a directory |
Tool Reference
spec_sync
Fetch and cache an OpenAPI spec.
api(required):"v1"or"internal"env:"prod"or"staging"(default:"prod")source:"url"or"cache"(default:"url")
ops_search
Search for API operations by keyword.
api(required):"v1"or"internal"query(required): Search term (matches operationId, summary, tags, path)topK: Max results (default: 10)
ops_describe
Get detailed schema for an operation.
api(required):"v1"or"internal"operationId(required): The operation to describe
api_call
Execute an API operation.
api(required):"v1"or"internal"operationId(required): The operation to callparams: Path and query parameters as objectbody: Request body for POST/PUT/PATCHprofile: Auth profile name (default:"default")dryRun: Iftrue, return the request without executing
auth_status
Check authentication status.
profile: Profile name (default:"default")
state_put
Store an entity reference.
entityType(required): e.g.,"employee","company"api(required):"v1"or"internal"externalId: ID from the Onboarded APIname: Human-readable namedata: Additional JSON dataenv:"prod"or"staging"(default:"prod")
state_query
Query stored entities.
entityType: Filter by typeapi: Filter by APIenv: Filter by environmentnameContains: Filter by name substringlimit: Max results (default: 100)offset: Pagination offset
state_get
Get a stored entity.
id: Internal UUID, orexternalId+api+env: Look up by Onboarded API ID
state_delete
Delete a stored entity.
id(required): Internal UUID
repo_read
Read a file from the configured repository.
path(required): Relative path (e.g.,"src/models/employee.py")startLine: Start line number (1-indexed)endLine: End line number (1-indexed)
repo_list
List files in a directory.
path: Relative path (default: root)recursive: List recursively (default:false)maxDepth: Max depth for recursion (default: 3)
Data Storage
All data is stored locally and created automatically on first run:
| Path | Purpose |
|---|---|
~/.config/onboarded-mcp/config.json |
User configuration |
~/.cache/onboarded-mcp/ |
Cached OpenAPI specs |
~/.local/share/onboarded-mcp/state.db |
SQLite database for entity memory |
Viewing Stored Entities
# Query all entities
sqlite3 ~/.local/share/onboarded-mcp/state.db "SELECT * FROM entities;"
# Interactive mode
sqlite3 ~/.local/share/onboarded-mcp/state.db
Security
- Tokens are stored in macOS Keychain, never in files
- Tokens never appear in MCP tool arguments or responses
- Authorization headers are redacted in dry-run output
- Shares credentials with
onboarded-cli— authenticate once, use everywhere
Development
npm run build # Compile TypeScript
npm run dev # Watch mode
npm run typecheck # Type checking only
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.