simple-xano-mcp

simple-xano-mcp

2

Xano MCP Python SDK is a server for integrating Xano with AI assistants like Claude, allowing comprehensive API management of Xano instances and databases. It features simple authentication, detailed logging, and cross-platform compatibility, optimized for local deployment.

Xano MCP Python SDK

A Python-based MCP (Model Context Protocol) server for Xano that allows AI assistants like Claude to interact directly with your Xano instance. This is a standalone version optimized for local use with Claude Desktop and other MCP-compatible LLMs.

🌟 Features

  • Simple Authentication: Connect with your Xano API token
  • Comprehensive API: Query and manipulate Xano instances, databases, tables, and records
  • Local Deployment: Run as a local MCP server for Claude Desktop or other clients
  • Detailed Logging: Troubleshoot issues with comprehensive logging
  • Portable: Works on macOS, Windows, and Linux

🚀 Quick Start

  1. Clone this repository:

    git clone https://github.com/yourusername/xano-mcp-python.git
    cd xano-mcp-python
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure Claude Desktop (if using):

    Edit your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    Add this configuration:

    {
      "mcpServers": {
        "xano": {
          "command": "python",
          "args": [
            "/path/to/xano-mcp-python/xano_mcp_sdk.py"
          ],
          "env": {
            "XANO_API_TOKEN": "your-xano-api-token"
          }
        }
      }
    }
    
  4. Run the installation script:

    # On macOS/Linux
    ./install.sh
    
    # On Windows
    install.bat
    
  5. Test the installation:

    ./test.py
    

💡 Usage Examples

Once installed, you can use it with Claude or any MCP-compatible assistant. Here are some examples:

  • List your Xano instances:

    What Xano instances do I have?

  • Check database tables:

    Show me all tables in my Xano instance "my-instance"

  • Create a new table:

    Create a new table called "products" in my Xano instance "my-instance"

  • Examine table structure:

    What's the schema for the "users" table?

  • Query records:

    Show me the first 5 records in the "users" table

🧰 Available Tools

Instance Management

  • List instances
  • Get instance details
  • Check instance status

Database Operations

  • List databases/workspaces
  • Get workspace details
  • Database schema management

Table Operations

  • Create, update, delete tables
  • Add, modify, and remove fields
  • Index management

Record Management

  • Create, read, update, delete records
  • Bulk operations
  • Complex queries

File Operations

  • List and manage files
  • Upload and download

API Tools

  • API group management
  • API endpoint creation and configuration

🔧 Advanced Configuration

Environment Variables

  • XANO_API_TOKEN: Your Xano API token (required)
  • XANO_LOG_LEVEL: Set log level (default: INFO)
  • XANO_DEFAULT_INSTANCE: Default instance to use when not specified

Command Line Options

python xano_mcp_sdk.py --token YOUR_TOKEN --log-level DEBUG

Logging

Logs are written to:

  • macOS: ~/Library/Logs/Claude/mcp*.log
  • Windows: %APPDATA%\Claude\logs\mcp*.log

For direct console output, run:

python xano_mcp_sdk.py --console-logging

🚨 Troubleshooting

If you encounter issues:

  1. Check logs for errors:

    # macOS
    tail -n 100 -f ~/Library/Logs/Claude/mcp*.log
    
    # Windows
    type "%APPDATA%\Claude\logs\mcp*.log"
    
  2. Verify API token is correct and has appropriate permissions

  3. Check network connectivity to Xano servers

  4. Ensure Python environment is properly set up

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements

  • Xano for their excellent database platform
  • Anthropic for the Model Context Protocol specification
  • Contributors and testers who helped refine this SDK