Skip to main content
Glama
524,517 tools. Updated 2026-09-06 16:13

"Using Laravel Helper Functions and Resolving MySQL Table Query Errors" matching MCP tools:

  • Lint a `.3tg.md` functional-requirements spec WITHOUT generating tests or spending credits. Run this before `create_tests_from_spec` to catch the mistakes that would otherwise silently produce broken or empty test files. WHY THIS EXISTS: 3TG's spec parser is deliberately lenient — it never errors on a malformed `.3tg.md`, it just silently ignores tables it can't parse and emits whatever column names it sees. So a spec can look fine yet compile to nothing useful. This tool runs the same parse 3TG would, then cross-checks the result against the source's real exports (via 3TG's own analysis) and reports problems. WHAT IT CATCHES: - ERROR: the spec parsed to an empty config (no valid table — usually a wrong return-column header; it must be the literal `=>`, or a row/header column-count mismatch). - ERROR: a table targets a function the source does not export (the generated test would import a non-existent symbol). - WARNING: a parameter column matches no parameter of any exported function (likely a typo such as `input_a` for `a`). - INFO: exported functions the spec doesn't cover yet. WHAT IT CANNOT CHECK: whether the `=>` expected-return values are arithmetically correct — 3TG itself doesn't verify that. Treat a `valid: true` result as "structurally sound and ready to compile", not "the expected values are right". This tool is FREE — no clientId, no quota, no test cases consumed. Surface the `summary` and any `diagnostics` back to the user; if there are errors, help them fix the spec, then re-validate.
    ConnectorNo auth
  • Search companies registered with DART, South Korea's corporate disclosure system, by name, 6-digit stock code, or 8-digit DART corp_code. Returns the corp_code required by the other dart_* tools. Not this tool for: US registrants (use search_edgar_company). Japan, Taiwan and Europe have no search tool — reach them through screen_companies or query_db on the companies table. Args: - query: company name (Korean works best, e.g. '삼성전자'), 6-digit KRX stock code ('005930'), or 8-digit corp_code - listed_only: restrict to KRX-listed companies (default true). Set false to include ~90k unlisted entities. - limit: max results, 1-50 (default 10) Returns: {count, companies: [{corp_code, corp_name, stock_code}]} — stock_code is null for unlisted companies. Match priority: exact stock code > exact name > listed partial > unlisted partial. Examples: - {query: '삼성전자'} -> corp_code 00126380, stock_code 005930 - {query: '카카오', listed_only: false} -> listed 카카오 plus unlisted same-name entities Use when you need a corp_code or must disambiguate similar names. Don't use for US companies (use search_edgar_company). Errors: DART_API_KEY not configured; no match returns count 0 (not an error).
    ConnectorAPI key
  • Searches both the domains table and the entities table simultaneously. Returns matching domains (by domain name) and entities (by name or slug) in a single response. Minimum 2 characters, maximum 100 characters. Use this tool when: - You have a partial name and need to identify what tracker or entity it belongs to. - You want to find all TunnelMind records related to a company name like "Google" or "Oracle". - You are resolving an ambiguous domain (e.g., does `criteo.com` appear in the tracker DB?). Do NOT use this tool when: - You know the exact domain — use `get_domain` instead (faster, more complete). - You know the exact entity slug — use `get_entity` instead. - You want to browse by category or industry — use `list_domains` or `list_entities`. Inputs: - `q` (query, required): Search string, 2-100 characters. Matched against domain names and entity names/slugs. Returns: - `domains`: array of matching domain records (list item format). - `entities`: array of matching entity records (list item format). - Both arrays may be empty if no matches found. No pagination — results are capped at 20 per type. Cost: - Free tier: included in 50 req/day. Pro/enterprise: included in plan. Latency: - Typical: <200ms, p99: <500ms.
    ConnectorNo auth
  • Run a single-statement SELECT against DataCanvas dataframes registered by treasury_query_dataset, treasury_get_debt, treasury_get_interest_rates, and treasury_get_exchange_rates. Read-only: writes, DDL, DROP, COPY, PRAGMA, ATTACH, and external-file table functions are rejected. System catalogs (information_schema, pg_catalog, sqlite_master, duckdb_*) are denied at the bridge layer. All Treasury dataframe columns are VARCHAR — CAST to DECIMAL or DATE for arithmetic and date comparisons. Use treasury_dataframe_describe to list available table names and column schemas before querying.
    ConnectorNo auth
  • Searches Pollar's news archive using semantic and keyword matching. Use for any subject-specific query, including a person, organisation, place, or country (for example, interesting news in Poland). Put the subject or place in query. Locale controls response language, not geographic scope. For current headlines with no subject or place, use list_top_news.
    ConnectorNo auth
  • Translate a plain-language question into a candidate SQL query using pattern-matching against the live schema (no AI model — simple questions only: counts, averages, filtered selects on a named table). Returns the SQL without executing it, with a confidence score; low confidence means the table was guessed. Review the statement and tables_used, then run it with scalix_db_query. For complex questions, read scalix_db_schema and write the SQL directly.
    ConnectorNo auth

Matching MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A read-only MySQL query service that allows SELECT operations, listing tables, and viewing schemas via MCP protocol.
    -
  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol server that provides read-only MySQL database queries for AI assistants, allowing them to execute queries, explore database structures, and investigate data directly from AI-powered tools.
    3
    61
    13
    MIT

Matching MCP Connectors

  • Validate the latest **persisted** pending virtual dimension draft, then promote it to published and kick off a BigQuery refresh. `virtualDimensionId` in inputs equals `id` from list/get/search. Requires a pending draft row — call update_virtual_dimension_draft for an existing virtualDimensionId (or create_virtual_dimension_draft for a brand-new VDIM) before publish. Preview alone does not create a draft. Rejects invalid drafts with draftValidation errors (no publish). On success returns `virtualDimensionId`, immutable `bqName`, `name`, `computeStatus`, and published rules — does not wait for the refresh job. After publish, query using returned `bqName` for groupBy/filterCel in query — bqName is immutable (set at create from the initial name) and does not change when name is renamed. `computeStatus` is `REFRESHING` when the refresh job was queued (async — poll via get or list_virtual_dimensions until `COMPLETED` before querying), or `TO_REFRESH` when the draft was promoted but queuing the refresh job failed — do not query yet; retry publish or re-check `computeStatus` until `COMPLETED`. Deletes the pending draft version. Clerk MCP only — not available on the service route. EXAMPLE: "Publish the Environment VDIM draft" → { virtualDimensionId: "<virtualDimensionId from create/list>" }
    ConnectorOAuth
  • Query this account's business-event timeline (GitHub releases/PRs, PagerDuty incidents, Jira issues, GitLab, Salesforce onboarding/churn, Stripe subscription created/canceled, Vercel production deploys, Linear issue creation, Sentry newly reported errors) — the same events overlaid on the Cost/Event Explorer charts. Always scope with start_date/end_date: there is no pagination and results are capped at 5000 rows (oldest-first), so an unscoped query over a long history may be silently truncated. Carries no cost figure. Mirrors GET /api/events.
    ConnectorNo auth
  • List the dimensions and every valid value of one Statistics Finland (StatFin) PxWeb table of Finnish official statistics — use it to see exactly what a table breaks down by before slicing it, or when query_table reports that a value matched nothing. StatFin dimension codes are native Finnish and cannot be guessed from the English table title: "vkour/15ig.px" uses "ikaryhma_10_20180101" for age (whose total is "15-", not "SSS"), "sukupuoli_9_20180101" for gender, "syntypera_101_20180101" for origin, "timeperiod_y" for year, and contentscode values such as "kaste5T8" (population with a tertiary level qualification). path is "folder/table.px" using the bare 4-character table id, e.g. "vkour/15ig.px" or "khi/11xs.px".
    ConnectorNo auth
  • Query any table. Returns `{"<table>": [rows], "limit": N, "next_from_id": M|null}`; page by re-calling with from_id set to the previous next_from_id until it is null. filters is a flat object of `field` or `field__op` keys from describe_table (e.g. {"season_id": 2024, "day__between": "20250101,20250131"}). Requires an API key (Authorization: Bearer <key>; free tier at https://stat-api.com). Every returned row counts against the monthly record quota.
    ConnectorNo auth
  • Install an app template on a VPS/Cloud site. Starts a background installation. Poll get_app_status() for progress. Requires: API key with write scope. VPS or Cloud plan only. Args: slug: Site identifier template: App template slug. Available: django, laravel, nextjs, nodejs, nuxtjs, rails, static app_name: Short name for the app (2-50 chars, lowercase alphanumeric + hyphens). Used as subdomain: {app_name}.{site_domain} db_type: Database type. "none", "mysql", or "postgresql" (depends on template) domain: Custom domain override (default: {app_name}.{site_domain}) display_name: Human-friendly name (default: derived from app_name) Returns: {"id": "uuid", "app_name": "myapp", "status": "installing", "message": "Installation started. Poll for progress."} Errors: FORBIDDEN: Plan does not support apps (shared plans) VALIDATION_ERROR: Invalid template, app_name, or duplicate name
    ConnectorNo auth
  • Provisions a managed MySQL (or MariaDB) database on a dedicated VM on your private network — the relational-database resource (use this instead of create_database when the app needs MySQL/MariaDB, e.g. WordPress, NextCloud, Matomo, many PHP/LAMP apps). Requires a recent plan_managed_datastore. For app deployments, prefer deploy_app database:'managed' with db_engine mysql/mariadb so plan_deploy includes and wires the DB automatically. It is PRIVATE — reachable only from another instance on the same private network, via the DB's internal/private IP (port 3306), not a public address. Get the ids from plan_managed_datastore/list_flavors/list_private_networks/list_keypairs. Provisioning takes ~5 min; poll list_relational_databases until status='ready', then the connection details (private_ip, port 3306, db_name, db_user) are populated. MySQL is created with mysql_native_password auth so older clients/apps connect cleanly. (ClickHouse is a separate resource — use create_clickhouse / list_clickhouse_databases.)
    ConnectorNo auth
  • Execute a read-only SQL query against the target connection. ONLY SELECT / WITH / EXPLAIN permitted. Write dialect-appropriate SQL for the connection's engine — use PostgreSQL syntax for postgres connections (`SELECT NOW()`, `LIMIT`, `ILIKE`), T-SQL for mssql (`SELECT GETDATE()`, `TOP N`, `LIKE`), MySQL for mysql (`SELECT NOW()`, `LIMIT`). Response meta includes `connection` + `dialect` so you know which syntax worked; reuse that dialect in follow-up calls. Default LIMIT 100 unless the user asks for all rows.
    ConnectorOAuth
  • Remove a subdomain: its DNS record, nginx vhost and certificate. The inverse of add_subdomain. Removes the DNS record AND the server-side vhost and cert, so the name stops resolving and stops being served. Nothing else on the domain is touched. Requires: API key with write scope. Args: domain_name: Registrable domain linked to a site (e.g. "example.com") subdomain: Subdomain label only, no dots (e.g. "blog") Returns: {"fqdn": "blog.example.com", "domain": "example.com", "removed": ["dns", "vhost", "cert"], "message": "..."} Errors: NOT_FOUND: Domain or subdomain not found VALIDATION_ERROR: Domain not linked to a site, or invalid label
    ConnectorNo auth
  • Run a WRITE SQL statement against the project's Postgres database — CREATE/ALTER TABLE, INSERT, UPDATE, DELETE, DROP, migrations. Destructive statements are allowed but your MCP client will show the user the SQL and ask them to approve it (they can allow once or for the session). Schema-changing statements (CREATE/ALTER/DROP of tables, types, …) automatically re-pull the typed schema helper and return the updated schema — no separate pull_database_schema call needed. Pass `database` only if the project has more than one. The query runs in a single transaction by default; set no_transaction for statements that cannot run inside a transaction block (VACUUM, CREATE INDEX CONCURRENTLY, …). Queries are killed after 90 seconds either way.
    Connector
    Destructive
    OAuth
  • Directory of the 71 RBA statistical tables and the series inside them — the discovery tool for rba_series. Pass `query` to search series NAMES/descriptions directly (e.g. "90-day bank bill rate", "3-year government bond yield") and get ranked series_id matches across tables in one call — this is what rba_series uses internally to resolve names, so a hit here is a hit there. Pass `keyword` to search table titles/categories instead (e.g. "housing loan", "cash rate", "inflation", "exchange rate") and see every series in the matched tables. Pass a table id directly to list all its series. Pass nothing to browse every table by category. NOT the same as list_tables (a different pack, Swedish population data) — this is rba_ prefixed.
    ConnectorNo auth
  • WHEN: developer needs correct X++ select or T-SQL for D365 tables with proper joins. Triggers: 'X++ select', 'generate a query', 'SQL for', 'join with', 'how to query', 'générer une requête', 'write a select statement', 'select from', 'X++ query for', 'requête X++', 'écrire une select'. Generate both X++ select statements and equivalent T-SQL queries for D365 F&O tables. Uses real field names, relations, and indexes from the knowledge base to produce correct joins. Supports: field selection, multi-table joins (auto-detects relations), WHERE filters, ORDER BY, TOP/firstonly, cross-company. Also accepts natural language descriptions like 'find all open sales orders for customer 1001 with CustTable join'. [!] For multi-table joins, call find_related_objects (or get_relation_graph if the relation index is loaded) FIRST to get the correct FK relations -- this tool will then produce accurate join conditions. [!] The generated X++ is a template -- adapt it to your custom code context before using in production. Returns side-by-side X++ and SQL with explanations.
    ConnectorNo auth
  • A dry run over a list of addresses: how many are in the index, how many were checked and found bare, how many have never been seen, and the band a resolve would bill inside. Counts only, no identities. Use it to decide whether a list is worth resolving, and which tool to spend on. COST: free on the match meter, always, even at zero balance. It weighs the rate window exactly like resolving the same list (one request-unit per address), so it previews a batch at the batch’s own pace. Minimum 10 distinct addresses, because the counts are aggregates by design; the ceiling is your plan’s batch ceiling. Reading the band: low is exact for resolving this list now (the addresses already holding an X handle or a Farcaster account). high adds never-checked addresses at the measured overall rate; a background job resolves those against live sources, a plain resolve does not. Match rates differ several-fold by chain; the coverage tool and /v1/stats carry the measured per-chain table.
    ConnectorNo auth
  • Search SEC EDGAR registrants (US-listed companies) by ticker, company name, or CIK. Returns the 10-digit zero-padded CIK needed by the other edgar_* tools. Not this tool for: Korean companies (use search_dart_company). Japan, Taiwan and Europe have no search tool — reach them through screen_companies or query_db on the companies table. Args: - query (required): ticker ('AAPL', 'BRK-B' or 'BRK.B'), company-name fragment ('Berkshire'), or CIK number ('320193') - limit: max results, 1-50 (default 10) Returns: {count, companies: [{cik, ticker, title}]} ranked exact-ticker > exact-name > prefix > substring. Examples: - "find Apple's CIK" -> {query: 'AAPL'} - "companies named Berkshire" -> {query: 'Berkshire', limit: 5} Use when: you need a CIK or to disambiguate a company name before calling get_edgar_financials/filings/insider_trades (those also accept tickers directly, so for an exact ticker you can skip this step). Don't use for: Korean companies (use search_dart_company) or private companies not registered with the SEC. Errors: no match -> error suggesting a shorter name fragment; only SEC registrants with a listed ticker are searchable.
    ConnectorAPI key
  • Run a read-only SQL query in the project and return the result. Prefer this tool over `execute_sql` if possible. This tool is restricted to only `SELECT` statements. `INSERT`, `UPDATE`, and `DELETE` statements and stored procedures aren't allowed. If the query doesn't include a `SELECT` statement, an error is returned. For information on creating queries, see the [GoogleSQL documentation](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax). Example Queries: ```sql -- Count the number of penguins in each island. SELECT island, COUNT(*) AS population FROM bigquery-public-data.ml_datasets.penguins GROUP BY island -- Evaluate a bigquery ML Model. SELECT * FROM ML.EVALUATE(MODEL `my_dataset.my_model`) -- Evaluate BigQuery ML model on custom data SELECT * FROM ML.EVALUATE(MODEL `my_dataset.my_model`, (SELECT * FROM `my_dataset.my_table`)) -- Predict using BigQuery ML model: SELECT * FROM ML.PREDICT(MODEL `my_dataset.my_model`, (SELECT * FROM `my_dataset.my_table`)) -- Forecast data using AI.FORECAST SELECT * FROM AI.FORECAST(TABLE `project.dataset.my_table`, data_col => 'num_trips', timestamp_col => 'date', id_cols => ['usertype'], horizon => 30) ``` Queries executed using the `execute_sql_readonly` tool will always have the job label `goog-mcp-server: true` automatically set in addition to any custom `labels` provided in the request. Queries are charged to the project specified in the `project_id` field.
    ConnectorNo auth
  • List the tables and column schemas on a DataCanvas staged by an openFDA search tool. Call before openfda_dataframe_query to discover the exact table name, column names, and DuckDB types needed for valid SQL. row_count is the full staged result set, not the inline preview count. Columns typed JSON hold nested openFDA objects/arrays — query them with DuckDB json functions.
    ConnectorNo auth