{"id":26937463,"url":"https://github.com/singlestore-labs/mcp-server-singlestore","last_synced_at":"2026-02-06T19:20:19.767Z","repository":{"id":283349534,"uuid":"941979361","full_name":"singlestore-labs/mcp-server-singlestore","owner":"singlestore-labs","description":"MCP server for interacting with SingleStore Management API and services","archived":false,"fork":false,"pushed_at":"2026-02-03T14:02:02.000Z","size":991,"stargazers_count":28,"open_issues_count":16,"forks_count":17,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-04T04:14:38.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pypi.org/project/singlestore-mcp-server/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/singlestore-labs.png","metadata":{"files":{"readme":"README.md","changelog":"changelog/0.4.10.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-03T11:25:06.000Z","updated_at":"2026-01-09T23:58:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"76de919a-fc60-4fa9-8765-66df8f0f5e31","html_url":"https://github.com/singlestore-labs/mcp-server-singlestore","commit_stats":null,"previous_names":["singlestore-labs/mcp-server-singlestore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/singlestore-labs/mcp-server-singlestore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlestore-labs%2Fmcp-server-singlestore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlestore-labs%2Fmcp-server-singlestore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlestore-labs%2Fmcp-server-singlestore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlestore-labs%2Fmcp-server-singlestore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/singlestore-labs","download_url":"https://codeload.github.com/singlestore-labs/mcp-server-singlestore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlestore-labs%2Fmcp-server-singlestore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29173487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-02T13:15:15.725Z","updated_at":"2026-02-06T19:20:19.761Z","avatar_url":"https://github.com/singlestore-labs.png","language":"Python","funding_links":[],"categories":["Databases","MCP 服务器精选列表","Production-Ready Servers","🤖 AI/ML","官方 MCP 服务器列表","Official Servers","Cloud Services","Table of Contents","🗂️ Extensions by Category","Data \u0026 Analytics"],"sub_categories":["SQL Databases","🗄️ 数据库交互","How to Submit","Databases","🗄️ Databases"],"readme":"# SingleStore MCP Server\n\n[![MIT Licence](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/singlestore-labs/mcp-server-singlestore/blob/main/LICENSE) [![PyPI](https://img.shields.io/pypi/v/singlestore-mcp-server)](https://pypi.org/project/singlestore-mcp-server/) [![Downloads](https://static.pepy.tech/badge/singlestore-mcp-server)](https://pepy.tech/project/singlestore-mcp-server)\n\n[Model Context Protocol]((https://modelcontextprotocol.io/introduction)) (MCP) is a standardized protocol designed to manage context between large language models (LLMs) and external systems. This repository provides an installer and an MCP Server for Singlestore, enabling seamless integration.\n\nWith MCP, you can use Claude Desktop, Claude Code, Cursor, or any compatible MCP client to interact with SingleStore using natural language, making it easier to perform complex operations effortlessly.\n\n💡 **Pro Tip**: Not sure what the MCP server can do? Just call the `/help` prompt in your chat!\n\n## Requirements\n\n- Python \u003e= v3.10.0\n- [uvx](https://docs.astral.sh/uv/guides/tools/) installed on your python environment\n- VS Code, Cursor, Windsurf, Claude Desktop, Claude Code, Goose or any other MCP client\n\n## Getting started\n\n## Getting started\n\nFirst, install the SingleStore MCP server with your client.\n\n**Standard config** works in most of the tools:\n\n```json\n{\n  \"mcpServers\": {\n    \"singlestore-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"singlestore-mcp-server\",\n        \"start\"\n      ]\n    }\n  }\n}\n```\n\n**No API keys, tokens, or environment variables required!** The server automatically handles authentication via browser OAuth when started.\n\n\u003cdetails\u003e\n\u003csummary\u003eClaude Desktop\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=claude-desktop\n```\n\n**Manual setup:**\nFollow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user), use the standard config above.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClaude Code\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=claude-code\n```\nThis will automatically run the Claude CLI command for you.\n\n**Manual setup:**\n```bash\nclaude mcp add singlestore-mcp-server uvx singlestore-mcp-server start\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCursor\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=cursor\n```\n\n**Manual setup:**\nGo to `Cursor Settings` -\u003e `MCP` -\u003e `Add new MCP Server`. Name to your liking, use `command` type with the command `uvx singlestore-mcp-server start`. You can also verify config or add command line arguments via clicking `Edit`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eVS Code\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=vscode\n```\n\n**Manual setup:**\nFollow the MCP install [guide](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server), use the standard config above. You can also install using the VS Code CLI:\n\n```bash\ncode --add-mcp '{\"name\":\"singlestore-mcp-server\",\"command\":\"uvx\",\"args\":[\"singlestore-mcp-server\",\"start\"]}'\n```\n\nAfter installation, the SingleStore MCP server will be available for use with your GitHub Copilot agent in VS Code.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWindsurf\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=windsurf\n```\n\n**Manual setup:**\nFollow Windsurf MCP [documentation](https://docs.windsurf.com/windsurf/cascade/mcp). Use the standard config above.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGemini CLI\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=gemini\n```\n\n**Manual setup:**\nFollow the MCP install [guide](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md#configure-the-mcp-server-in-settingsjson), use the standard config above.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eLM Studio\u003c/summary\u003e\n\n**Automatic setup:**\n```bash\nuvx singlestore-mcp-server init --client=lm-studio\n```\n\n**Manual setup:**\nGo to `Program` in the right sidebar -\u003e `Install` -\u003e `Edit mcp.json`. Use the standard config above.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGoose\u003c/summary\u003e\n\n**Manual setup only:**\nGo to `Advanced settings` -\u003e `Extensions` -\u003e `Add custom extension`. Name to your liking, use type `STDIO`, and set the `command` to `uvx singlestore-mcp-server start`. Click \"Add Extension\".\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eQodo Gen\u003c/summary\u003e\n\n**Manual setup only:**\nOpen [Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen) chat panel in VSCode or IntelliJ → Connect more tools → + Add new MCP → Paste the standard config above.\n\nClick \u003ccode\u003eSave\u003c/code\u003e.\n\n\u003c/details\u003e\n\n### Using Docker\n\n**NOTE:** An API key is required when using Docker because the OAuth flow isn't supported for servers running in Docker containers.\n\n```json\n{\n  \"mcpServers\": {\n    \"singlestore-mcp-server\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\", \"--init\", \"--pull=always\",\n        \"-e\", \"MCP_API_KEY=your_api_key_here\",\n        \"singlestore/mcp-server-singlestore\"\n      ]\n    }\n  }\n}\n```\n\nYou can build the Docker image yourself:\n\n```bash\ndocker build -t singlestore/mcp-server-singlestore .\n```\n\nFor better security, we recommend using Docker Desktop to configure the SingleStore MCP server—see [this blog post](https://www.docker.com/blog/docker-mcp-catalog-secure-way-to-discover-and-run-mcp-servers/) for details on Docker's new MCP Catalog.\n\n## Components\n\n### Tools\n\nThe server implements the following tools:\n\n- **get_user_info**: Retrieve details about the current user\n  - No arguments required\n  - Returns user information and details\n\n- **organization_info**: Retrieve details about the user's current organization\n  - No arguments required\n  - Returns details of the organization\n\n- **choose_organization**: Choose from available organizations (only available when API key environment variable is not set)\n  - No arguments required\n  - Returns a list of available organizations to choose from\n\n- **set_organization**: Set the active organization (only available when API key environment variable is not set)\n  - Arguments: `organization_id` (string)\n  - Sets the specified organization as active\n\n- **workspace_groups_info**: Retrieve details about the workspace groups accessible to the user\n  - No arguments required\n  - Returns details of the workspace groups\n\n- **workspaces_info**: Retrieve details about the workspaces in a specific workspace group\n  - Arguments: `workspace_group_id` (string)\n  - Returns details of the workspaces\n\n- **resume_workspace**: Resume a suspended workspace\n  - Arguments: `workspace_id` (string)\n  - Resumes the specified workspace\n\n- **list_starter_workspaces**: List all starter workspaces accessible to the user\n  - No arguments required\n  - Returns details of available starter workspaces\n\n- **create_starter_workspace**: Create a new starter workspace\n  - Arguments: workspace configuration parameters\n  - Returns details of the created starter workspace\n\n- **terminate_starter_workspace**: Terminate an existing starter workspace\n  - Arguments: `workspace_id` (string)\n  - Terminates the specified starter workspace\n\n- **list_regions**: Retrieve a list of all regions that support workspaces\n  - No arguments required\n  - Returns a list of available regions\n\n- **list_sharedtier_regions**: Retrieve a list of shared tier regions\n  - No arguments required\n  - Returns a list of shared tier regions\n\n- **run_sql**: Execute SQL operations on a connected workspace\n  - Arguments: `workspace_id`, `database`, `sql_query`, and connection parameters\n  - Returns the results of the SQL query in a structured format\n\n- **create_notebook_file**: Create a new notebook file in SingleStore Spaces\n  - Arguments: `notebook_name`, `content` (optional)\n  - Returns details of the created notebook\n\n- **upload_notebook_file**: Upload a notebook file to SingleStore Spaces\n  - Arguments: `file_path`, `notebook_name`\n  - Returns details of the uploaded notebook\n\n- **create_job_from_notebook**: Create a scheduled job from a notebook\n  - Arguments: job configuration including `notebook_path`, `schedule_mode`, etc.\n  - Returns details of the created job\n\n- **get_job**: Retrieve details of an existing job\n  - Arguments: `job_id` (string)\n  - Returns details of the specified job\n\n- **delete_job**: Delete an existing job\n  - Arguments: `job_id` (string)\n  - Deletes the specified job\n\n**Note**: Organization management tools (`choose_organization` and `set_organization`) are only available when the API key environment variable is not set, allowing for interactive organization selection during OAuth authentication.\n\n## Development\n\n### Prerequisites\n\n- Python \u003e= 3.11\n- [uv](https://docs.astral.sh/uv/) for dependency management\n\n### Setup\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/singlestore-labs/mcp-server-singlestore.git\ncd mcp-server-singlestore\n```\n\n1. Install dependencies:\n\n```bash\nuv sync --dev\n```\n\n1. Set up pre-commit hooks (optional but recommended):\n\n```bash\nuv run pre-commit install\n```\n\n### Development Workflow\n\n```bash\n# Quick quality checks (fast feedback)\n./scripts/check.sh\n\n# Run tests independently\n./scripts/test.sh\n\n# Comprehensive validation (before PRs)\n./scripts/check-all.sh\n\n# Create and publish releases\n./scripts/release.sh\n```\n\n### Running Tests\n\n```bash\n# Run test suite with coverage\n./scripts/test.sh\n\n# Or use pytest directly\nuv run pytest\nuv run pytest --cov=src --cov-report=html\n```\n\n### Code Quality\n\nWe use [Ruff](https://docs.astral.sh/ruff/) for both linting and formatting:\n\n```bash\n# Format code\nuv run ruff format src/ tests/\n\n# Lint code\nuv run ruff check src/ tests/\n\n# Lint and fix issues automatically\nuv run ruff check --fix src/ tests/\n```\n\n### Release Process\n\nReleases are managed through git tags and automated PyPI publication:\n\n1. **Create release**: `./scripts/release.sh` (interactive tool)\n2. **Automatic publication**: Triggered by pushing version tags\n3. **No manual PyPI uploads** - fully automated pipeline\n\nSee [`scripts/dev-workflow.md`](scripts/dev-workflow.md) for detailed workflow documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinglestore-labs%2Fmcp-server-singlestore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinglestore-labs%2Fmcp-server-singlestore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinglestore-labs%2Fmcp-server-singlestore/lists"}