Sponsored by Deepsite.site

Tag

#Database

326 results found

Altinity Mcp

**Altinity MCP Server** is a production-ready MCP server designed to empower AI agents and LLMs to interact seamlessly with ClickHouse. It exposes your ClickHouse database as a set of standardized tools and resources that adhere to the MCP protocol, making it easy for agents built on OpenAI, Claude, or other platforms to query, explore, and analyse your data. ### Why use this server? * Seamless AI-agent integration: Designed so that agents built using OpenAI can call your database as if it were a tool. * Flexible transport support: STDIO for local workflows, HTTP for traditional REST-style calls + streaming support via SSE for interactive flows. * Full tooling and protocol support: Built-in tools for schema introspection, SQL execution, resource discovery. * Security and enterprise-grade: Supports JWE/JWT authentication, TLS for ClickHouse connection and MCP endpoints. * Open-source and extensible: You can customise, extend, embed into your stack. ### Key Features * **Transport Options**: * **STDIO**: Run locally via standard input/output — ideal for embedded agents or local workflows. * **HTTP**: Exposes MCP tools as HTTP endpoints, enabling Web, backend, agent access. * **SSE (Server-Sent Events)**: Enables streaming responses — useful when you want the agent to receive chunks of results, respond interactively, or present live data. * **OpenAPI Integration**: When HTTP or SSE mode is enabled, the server can generate a full OpenAPI specification (v3) describing all tools and endpoints. This makes it easy for OpenAI-based agents (or other LLM platforms) to discover and call your tools programmatically. * **Security & Authentication**: Optional JWE token authentication, JWT signing, TLS support both for the MCP server and the underlying ClickHouse connection. * **Dynamic Resource Discovery**: The server can introspect the ClickHouse schema and automatically generate MCP “resources” (tables, views, sample data) so agents understand your data context without manual intervention. * **Configuration Flexibility**: Configure via environment variables, YAML/JSON configuration file or CLI flags. Includes hot-reload support so you can adjust config without full restart. ### Use-Cases * AI assistant integrated with OpenAI: For example, you build an agent using OpenAI’s API which reads your schema via the OpenAPI spec, selects the right tool, calls the HTTP/SSE endpoint of the MCP server, and returns analytic results to the user. * Streaming analytics: Large result sets, or interactive analytics flows, where SSE streaming gives progressive results, keeps your UI or agent responsive. * Secure enterprise access: Instead of giving agents full DB credentials, you expose via the MCP server with fine-grained auth, limit enforcement, TLS, and tool-level control. * Schema-aware LLM workflows: Because the server exposes table and column metadata and sample rows as resources, the LLM can reason about your data structure, reducing errors and generating better SQL or queries.

Fully Capable Pocketbase Mcp Server

# PocketBase MCP Server A Model Context Protocol (MCP) server that provides tools for managing PocketBase instances. This server enables LLMs to interact with PocketBase databases through a standardized protocol. ## Overview This MCP server exposes PocketBase functionality as tools that can be used by any MCP-compatible client (like Claude Desktop, Cursor, or other LLM applications). It provides comprehensive access to PocketBase features including: - Collection management (CRUD operations) - Record management with filtering and pagination - Authentication and user management - Settings and health monitoring - Backup operations ## Installation ```bash npm install npm run build ``` ## Configuration The server can be configured to connect to different PocketBase instances using (in order of precedence): 1. **Local config file** (`.pocketbase-mcp.json` in your project directory): ```json { "url": "http://localhost:8091" } ``` 2. **Environment variable**: - `POCKETBASE_URL`: URL of your PocketBase instance 3. **Default**: `http://127.0.0.1:8090` ### Multi-Project Setup #### Option 1: Project-Specific Configuration (Recommended) Each project can have its own MCP configuration: ```bash # In project directory claude mcp add-json pocketbase '{"command": "node", "args": ["/path/to/pocketbase-mcp-server/dist/mcp-server.js"], "env": {"POCKETBASE_URL": "http://localhost:8091"}}' --scope project ``` #### Option 2: Config File Create a `.pocketbase-mcp.json` in your project root: ```json { "url": "https://api.myproject.com" } ``` #### Option 3: Multiple Named Servers Add different PocketBase instances globally: ```bash claude mcp add-json pb-local '{"command": "node", "args": ["/path/to/pocketbase-mcp-server/dist/mcp-server.js"], "env": {"POCKETBASE_URL": "http://localhost:8090"}}' claude mcp add-json pb-prod '{"command": "node", "args": ["/path/to/pocketbase-mcp-server/dist/mcp-server.js"], "env": {"POCKETBASE_URL": "https://api.myapp.com"}}' ``` ## Usage ### As an MCP Server To use with Claude Desktop or other MCP clients, add this to your MCP settings: ```json { "mcpServers": { "pocketbase": { "command": "node", "args": ["/path/to/pocketbase-mcp-server/dist/mcp-server.js"], "env": { "POCKETBASE_URL": "http://localhost:8090" } } } } ``` ### Available Tools #### Collection Management - **list_collections**: List all collections with pagination and filtering - **get_collection**: Get a specific collection by ID or name - **create_collection**: Create a new collection with schema - **update_collection**: Update collection settings and schema - **delete_collection**: Delete a collection #### Record Management - **list_records**: List records from a collection with filtering, sorting, and pagination - **get_record**: Get a specific record by ID - **create_record**: Create a new record - **update_record**: Update an existing record - **delete_record**: Delete a record #### Authentication - **auth_with_password**: Authenticate using email/username and password - **create_user**: Create a new user in an auth collection #### System - **get_health**: Check PocketBase health status - **get_settings**: Get PocketBase settings (requires admin auth) - **create_backup**: Create a backup (requires admin auth) - **list_backups**: List available backups (requires admin auth) #### Hook Management - **list_hooks**: List JavaScript hook files in the pb_hooks directory - **read_hook**: Read the contents of a hook file - **create_hook**: Create or update a JavaScript hook file - **delete_hook**: Delete a hook file - **create_hook_template**: Generate hook templates for common patterns: - `record-validation`: Field validation for records - `record-auth`: Custom authentication logic - `custom-route`: API endpoint creation - `file-upload`: File upload validation - `scheduled-task`: Cron job setup ## Tool Examples ### List Collections ```json { "tool": "list_collections", "arguments": { "page": 1, "perPage": 10, "filter": "type = 'auth'" } } ``` ### Create a Record ```json { "tool": "create_record", "arguments": { "collection": "posts", "data": { "title": "My First Post", "content": "Hello, world!", "published": true } } } ``` ### Query Records with Filtering ```json { "tool": "list_records", "arguments": { "collection": "posts", "filter": "published = true && created >= '2024-01-01'", "sort": "-created", "expand": "author" } } ``` ### Create a Hook Template ```json { "tool": "create_hook_template", "arguments": { "type": "record-validation", "collection": "posts" } } ``` ### Create a Custom Hook ```json { "tool": "create_hook", "arguments": { "filename": "posts-validation.pb.js", "content": "// Custom validation code here..." } } ``` ## Development ### Running in Development Mode ```bash npm run dev ``` ### Building ```bash npm run build ``` ## Architecture The MCP server follows the Model Context Protocol specification: 1. **MCP Server**: Handles tool registration and execution 2. **PocketBase Client**: Communicates with PocketBase instance 3. **Tool Handlers**: Implement specific PocketBase operations ## Security Considerations - The server requires appropriate authentication for admin operations - Use environment variables to configure sensitive settings - Consider implementing additional access controls based on your use case ## Contributing Contributions are welcome! Please ensure that any new tools follow the existing patterns and include proper error handling. ## License ISC