Xano MCP Server

Xano MCP Server

A Model Context Protocol (MCP) server implementation for interacting with the Xano API. This server provides tools and resources for managing Xano database operations through the MCP interface.

Features

  • Secure authentication with Xano API
  • Type-safe API interactions using TypeScript
  • Environment-based configuration
  • MCP-compliant interface
  • Workspace management tools
  • Table content operations (create, read, update)
  • Improved error handling with detailed messages

Installation

# Clone the repository git clone [your-repo-url] cd xano_mcp # Install dependencies npm install

Configuration

  1. Copy the example environment file:
cp .env.example .env
  1. Update the .env file with your Xano credentials:
XANO_API_KEY=your_api_key_here XANO_API_URL=your_xano_api_url NODE_ENV=development API_TIMEOUT=10000

Development

# Build the project npm run build # Run in development mode npm run dev # Start the server npm start

Project Structure

xano_mcp/ ├── src/ │ ├── api/ │ │ └── xano/ │ │ ├── client/ # API client implementation │ │ ├── models/ # Data models and types │ │ ├── services/ # API service implementations │ │ └── utils/ # Utility functions │ ├── mcp/ │ │ ├── server/ # MCP server implementation │ │ ├── tools/ # MCP tool implementations │ │ └── types/ # Tool-specific types │ ├── config.ts # Configuration management │ └── index.ts # Main entry point ├── .env # Environment variables (not in git) ├── .env.example # Example environment variables └── tsconfig.json # TypeScript configuration

Available MCP Tools

Workspace Tools

  • get_workspaces: List all available workspaces

Table Tools

  • create_table: Create a new table in a workspace
  • get_table_content: Get content from a table with pagination support
  • add_table_content: Add new content to a table
  • update_table_content: Update existing content in a table
  • get_all_tables: List all tables in a workspace with detailed information

Usage Examples

Working with Workspaces

// List available workspaces const result = await mcp.use_tool("get_workspaces", {}); console.log('Workspaces:', result);

Managing Tables

// Create a new table const createResult = await mcp.use_tool("create_table", { workspaceId: 123, name: "MyTable" }); // Add content to a table const addResult = await mcp.use_tool("add_table_content", { workspaceId: 123, tableId: 456, content: { created_at: "2024-01-22T17:07:00.000Z" } }); // Get table content with pagination const getResult = await mcp.use_tool("get_table_content", { workspaceId: 123, tableId: 456, pagination: { page: 1, items: 50 } }); // Update table content const updateResult = await mcp.use_tool("update_table_content", { workspaceId: 123, tableId: 456, contentId: "789", content: { created_at: "2024-01-22T17:07:00.000Z" } }); // List all tables in a workspace const tables = await mcp.use_tool("get_all_tables", { workspaceId: 123 }); console.log('Tables:', tables); // Returns an array of tables with their details: // [ // { // id: number, // name: string, // description: string, // created_at: string, // updated_at: string, // guid: string, // auth: boolean, // tag: string[], // workspaceId: number // }, // ... // ]

Environment Variables

VariableDescriptionRequiredDefault
XANO_API_KEYYour Xano API authentication keyYes-
XANO_API_URLXano API endpoint URLYes-
NODE_ENVEnvironment (development/production)Nodevelopment
API_TIMEOUTAPI request timeout in millisecondsNo10000

Error Handling

The server provides detailed error messages for:

  • Invalid parameters
  • Authentication failures
  • API request failures
  • Content validation errors
  • Unknown tool requests

Security

  • Environment variables are used for sensitive configuration
  • TruffleHog configuration is included to prevent secret leaks
  • API keys and sensitive data are never committed to the repository

Contributing

  1. Create a feature branch
  2. Make your changes
  3. Submit a pull request

License

ISC

-
security - not tested
F
license - not found
-
quality - not tested

Enables interaction with the Xano API through a Model Context Protocol (MCP) interface, providing secure and type-safe management of Xano database operations.

  1. Features
    1. Installation
      1. Configuration
        1. Development
          1. Project Structure
            1. Available MCP Tools
              1. Workspace Tools
                1. Table Tools
                2. Usage Examples
                  1. Working with Workspaces
                    1. Managing Tables
                    2. Environment Variables
                      1. Error Handling
                        1. Security
                          1. Contributing
                            1. License