Xano MCP Server
# Xano MCP Server
A Model Context Protocol (MCP) server for interacting with Xano's metadata API. This server provides tools that can be used by AI assistants (like Claude) through Cursor or other MCP-compatible clients.
## Features
- **Manage Tables**: Create, list, and delete tables in your Xano database
- **Schema Operations**: View and modify table schemas with comprehensive schema editing capabilities
- **Database Management**: Complete toolset for interacting with your Xano database structure
- **Swagger Spec**: Extract your API group api details in either JSON or Markdown (reduced token) format
Note this is an early-stage with feedback / requests welcomed.
## Prerequisites
- Node.js (v16 or higher)
- npm or another Node.js package manager
- A Xano account with API access
- Cursor, Claude Desktop, Cline or another MCP client.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/lowcodelocky2/xano-mcp.git
cd xano-mcp
```
2. Install dependencies:
```bash
npm install
```
3. Configure your Xano credentials:
- Edit `index.ts` and set your Xano credentials:
- `XANO_API_KEY`: Your Xano API key
- `XANO_WORKSPACE`: Your Xano workspace ID
- `XANO_API_BASE`: Your Xano instance API URL (e.g., https://your-instance.xano.io/api:meta)
4. Build the project:
```bash
npm run build
```
## Usage with Claude Desktop
Follow this guide - https://modelcontextprotocol.io/quickstart/user
Update your config with:
```json
{
"mcpServers": {
"xano": {
"command": "node",
"args": [
"/path/to/xano-mcp"
]
}
}
}
```
Replace `/path/to/xano-mcp` with the absolute path to your project directory.
**This does not work with the claude web app, only via the desktop app - https://claude.ai/download**
## Usage with Cursor
1. Open Cursor
2. Click "Add MCP Server"
3. Configure the server:
- Name: `whatever you want to call it`
- Type: `command`
- Command: `node /path/to/xano-mcp/build/index.js`
Replace `/path/to/xano-mcp` with the absolute path to your project directory.
Example mac
node /Users/your-user/Documents/folder-name/xano-mcp/build/index.js
If you're in your're inside your directory you can run the comman 'pwd' into your terminal to get the absolute path.
## Xano MCP Tools Overview
This integration provides a comprehensive set of tools for managing your Xano workspace through the Model Context Protocol (MCP). Here's what you can do:
## Database Management
### Tables
- List all tables in your workspace
- View detailed table schemas
- Create new tables with custom schemas
- Delete existing tables
- Modify table schemas (add/remove/rename columns)
### Schema Operations
- Add new columns with various data types
- Remove columns
- Rename columns
- Update entire table schemas
- Support for complex data types and relationships
## API Management
### API Groups
- Create new API groups
- List all API groups
- Browse APIs within groups
- Enable/disable Swagger documentation
- Manage API group metadata (tags, branches, etc.)
### Individual APIs
- Add new APIs to groups
- Configure HTTP methods (GET, POST, PUT, DELETE, PATCH, HEAD)
- Set up API documentation
- Add metadata (tags, descriptions)
## Documentation
- Generate API Group specifications in both markdown (reduced tokens) and JSO (full) formats
- View Swagger documentation
- Access detailed schema information
This toolset enables complete management of your Xano workspace, allowing you to build and maintain your backend infrastructure programmatically through the MCP interface.
## Re-enabling the Delete Table Tool
To re-enable the delete-table functionality in this codebase, follow these step-by-step instructions:
1. Open the file `src/index.ts` in your code editor
2. Locate the commented-out section that starts with:
```typescript
// Delete Table Tool
/*
server.tool(
```
and ends with:
```typescript
);
*/
```
3. To uncomment this section:
- Delete the opening `/*` on the line after "Delete Table Tool"
- Delete the closing `*/` before "Edit Table Schema Tool"
That's it! The delete-table tool will now be active again. (After running a new build)
### Example of What the Code Should Look Like After
```typescript
// Delete Table Tool
server.tool(
"delete-table",
"Delete a table from the Xano workspace",
{
table_id: z.string().describe("ID of the table to delete")
},
async ({ table_id }) => {
// ... rest of the implementation
}
);
```
### Verification
After making these changes:
1. Save the file
2. Run a new build `npm run build'
3. Restart your MCP client (Claude / Cursor)
4. The delete-table tool should now be available in your toolset
### Safety Note
The delete-table tool permanently removes tables from your Xano workspace. Make sure you have appropriate backups before using this functionality.