Skip to main content
Glama
SarimSiddd

Xano MCP Server

by SarimSiddd

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

Related MCP server: Xano MCP Server

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

Variable

Description

Required

Default

XANO_API_KEY

Your Xano API authentication key

Yes

-

XANO_API_URL

Xano API endpoint URL

Yes

-

NODE_ENV

Environment (development/production)

No

development

API_TIMEOUT

API request timeout in milliseconds

No

10000

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SarimSiddd/xano_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server