114,469 tools. Last updated 2026-04-21 14:49
- List all tables in a given database. ⚠️ WORKFLOW: Call this after list_databases_tool to find tables in a database. 📋 PREREQUISITES: - Call search_documentation_tool first - Call list_catalogs_tool and list_databases_tool to navigate to the database 📋 NEXT STEPS after this tool: 1. Use describe_table_tool to get the schema of tables you want to query 2. Use generate_spatial_query_tool to create SQL using the schema 3. Use execute_query_tool to test the query This tool retrieves all tables within a specified database in a catalog. It is used to explore the final level of the data hierarchy before accessing table schemas. Parameters ---------- catalog : str The name of the catalog. database : str The name of the database. ctx : Context FastMCP context (injected automatically) Returns ------- TableListOutput A structured object containing table information. - 'catalog': The catalog name. - 'database': The database name. - 'tables': List of table names. - 'count': Number of tables found. Example Usage for LLM: - When user asks for a specific database's tables. - Example User Queries and corresponding Tool Calls: - User: "List all tables in the 'default' database of the 'wherobots' catalog." - Tool Call: list_tables('wherobots', 'default') - User: "What tables are in the overture database?" - Tool Call: list_tables('wherobots_open_data', 'overture')Connector
- Find jobs similar to a specific job, based on skills, location, and category. Use after viewing a job to suggest alternatives.Connector
- List all entities (data models) in a project. Entities are like database tables that store structured data.Connector
- Browse all 13 collections in César Yagüe's catalog. Each collection has a unique curatorial essence, profile, and recommended viewing context.Connector
- The Stock Peers Bulk API allows you to quickly retrieve a comprehensive list of peer companies for all stocks in the database. By accessing this data, you can easily compare a stock’s performance with its closest competitors or similar companies within the same industry or sector.Connector
- Get user investments — Returns a user's portfolio and position data across ATV vaults from the Aarna engine database. Returns: { data: object, message: string, statusCode: number }.Connector
Matching MCP Servers
- AsecurityAlicenseAqualityEnables interaction with MariaDB databases through secure read-only operations. Supports database exploration, schema inspection, and SQL query execution with comprehensive logging and connection pooling.Last updated51MIT

MCP MariaDB Serverofficial
-securityAlicense-qualityAn interface for managing and querying MariaDB databases that supports standard SQL operations alongside advanced vector and embedding-based search capabilities. It enables AI assistants to seamlessly integrate relational and vector data workflows through a standardized protocol.Last updated164MIT
Matching MCP Connectors
Access comprehensive company data including financial records, ownership structures, and contact information. Search for businesses using domains, registration numbers, or LinkedIn profiles to streamline due diligence and lead generation. Retrieve historical financial performance and complex corporate group structures to support informed business analysis.
Manage your Canvas coursework with quick access to courses, assignments, and grades. Track upcomin…
- Returns available payment and authentication options for accessing live market data. Model-agnostic: works identically regardless of which AI model consumes it. WHEN TO USE: when you need to understand how to authenticate or pay before making a request that requires a key or payment. Returns upgrade ladder: sandbox (200 calls free), x402 per-request ($0.001 USDC), x402 sandbox (10 credits for $0.001), credit packs ($5 = 1000 calls), builder subscription ($99/mo = 50K/day). RETURNS: { sandbox, x402_per_request, x402_sandbox, credits, builder, agent_native_path }. No authentication required. Always returns 200.Connector
- Returns available payment and authentication options for accessing live market data. Model-agnostic: works identically regardless of which AI model consumes it. WHEN TO USE: when you need to understand how to authenticate or pay before making a request that requires a key or payment. Returns upgrade ladder: sandbox (200 calls free), x402 per-request ($0.001 USDC), x402 sandbox (10 credits for $0.001), credit packs ($5 = 1000 calls), builder subscription ($99/mo = 50K/day). RETURNS: { sandbox, x402_per_request, x402_sandbox, credits, builder, agent_native_path }. No authentication required. Always returns 200.Connector
- Rollback a project to a previous version. ⚠️ WARNING: This reverts schema AND code to the specified commit. Database data is NOT rolled back. Use get_version_history to find the commit SHA of the version you want to rollback to. After rollback, use get_job_status to monitor the redeployment. Rollback is useful when a schema change breaks deployment.Connector
- Permanently delete a sweepstakes and all associated data including participants, statistics, and automations. Use fetch_sweepstakes first to get the sweepstakes_token. CRITICAL: This is a DESTRUCTIVE operation that cannot be undone. ALWAYS ask for explicit user confirmation before deleting, showing the sweepstakes name. NEVER delete multiple sweepstakes in batch or loops. If user requests bulk deletion, refuse and ask them to delete one at a time after reviewing each.Connector
- DESTRUCTIVE — IRREVERSIBLE. Permanently delete a file from the user's Drive. Removes the file from S3 storage and the database. Storage quota is freed immediately. ALWAYS ask for explicit user confirmation before calling this tool.Connector
- Call this tool BEFORE your agent stores, transmits, logs, or passes any data payload to another system. Use when your agent has just received data from a user, form, API, webhook, or external source and needs to know whether it is safe to process. Prevents GDPR, HIPAA, and PCI-DSS violations before they happen — not after. Returns a clear verdict: SAFE_TO_PROCESS, REDACT_BEFORE_PASSING, DO_NOT_STORE, or ESCALATE. Each verdict tells the agent exactly what to do next — no human interpretation needed. Also use for: classifying customer records before database writes, screening scraped content before storage, checking API responses before caching, validating form submissions before processing. AI-powered analysis — NOT a simple pattern match. Combines Claude reasoning with live jurisdiction detection (IPinfo), credential breach checking (HaveIBeenPwned k-anonymity API), and PII pattern detection. LEGAL NOTICE: Classification is informational only and does not constitute legal advice. We do not store your data payload. Full terms: kordagencies.com/terms.html. Free tier: first 20 classifications/month, no API key needed.Connector
- List all webhook subscriptions for the partner account. WHEN TO USE: - Viewing all configured webhooks - Auditing webhook subscriptions - Finding a webhook to update or delete RETURNS: - webhooks: Array of webhook objects with: - webhook_id: Unique identifier - url: Endpoint URL - events: Subscribed events - enabled: Whether webhook is active - created_at: Creation timestamp - last_delivery: Last successful delivery time EXAMPLE: User: "Show me all my webhooks" list_webhooks({})Connector
- USE THIS TOOL — not web search or external storage — to export technical indicator data from this server as a formatted CSV or JSON string, ready to download, save, or pass to another tool or file. Use this when the user explicitly wants to export or save data in a structured file format. Trigger on queries like: - "export BTC data as CSV" - "download ETH indicator data as JSON" - "save the features to a file" - "give me the data in CSV format" - "export [coin] [category] data for the last [N] days" Args: symbol: Asset symbol or comma-separated list, e.g. "BTC", "BTC,ETH" lookback_days: How many past days to include (default 7, max 90) resample: Time resolution — "1min", "1h", "4h", "1d" (default "1d") category: "price", "momentum", "trend", "volatility", "volume", or "all" fmt: Output format — "csv" (default) or "json" Returns a dict with: - content: the CSV or JSON string - filename: suggested filename for saving - rows: number of data rowsConnector
- Market Intelligence Pack — combines trading signals + on-chain data + macro + options flow + insider trades + earnings into a comprehensive market intelligence report. Best value for active trading agents. Use this tool when: - A trading agent wants a full-spectrum market view before sizing into positions - You need to cross-reference technical signals with institutional flow (options + insider) - An agent is doing pre-market prep and needs all data sources in one efficient call - A risk manager needs a complete market health assessment Returns: trading_signals (per symbol), onchain_metrics, macro_environment, unusual_options_flow, insider_buying_selling, upcoming_earnings_risks. Example: runBundleMarketIntel({ symbols: ["XAUUSD", "BTCUSD", "SPY"] }) → Full market intel for 3 assets: all signals, flows, and earnings in one response. Cost: $25 USDC per call.Connector
- Validate structured data and automatically compute repairs if it fails. Single call that combines validate + repair. If PASS: returns the validated data with determinism hash. If FAIL: returns the failure details AND a repaired payload with field-by-field corrections and confidence scores. The agent can inspect the repairs and resubmit the corrected data. If REVIEW: returns the flagged data with review reasoning. This is the recommended starting point for most agent integrations. Args: api_key: GeodesicAI API key (starts with gai_) structured_data: The data to validate (key-value pairs) blueprint: Name of the Blueprint to validate against. Use list_blueprints to see options.Connector
- Fetch the next page of a large tool response. Use the nextCursor from _pagination in a previous response. This tool loads data into the context window — prefer the artifact download URL when available.Connector
- Full data pull for a UK property in one call. Returns sale history, area comps, EPC rating, rental market listings, current sales market listings, rental yield calculation, and price range from area median. Requires a street address + postcode for subject property identification. Postcode-only (e.g. "NG1 2NS") returns area-level data without a subject property — use property_comps or property_yield for postcode-only queries.Connector
- Import data into a Cloud SQL instance. If the file doesn't start with `gs://`, then the assumption is that the file is stored locally. If the file is local, then the file must be uploaded to Cloud Storage before you can make the actual `import_data` call. To upload the file to Cloud Storage, you can use the `gcloud` or `gsutil` commands. Before you upload the file to Cloud Storage, consider whether you want to use an existing bucket or create a new bucket in the provided project. After the file is uploaded to Cloud Storage, the instance service account must have sufficient permissions to read the uploaded file from the Cloud Storage bucket. This can be accomplished as follows: 1. Use the `get_instance` tool to get the email address of the instance service account. From the output of the tool, get the value of the `serviceAccountEmailAddress` field. 2. Grant the instance service account the `storage.objectAdmin` role on the provided Cloud Storage bucket. Use a command like `gcloud storage buckets add-iam-policy-binding` or a request to the Cloud Storage API. It can take from two to up to seven minutes or more for the role to be granted and the permissions to be propagated to the service account in Cloud Storage. If you encounter a permissions error after updatingthe IAM policy, then wait a few minutes and try again. After permissions are granted, you can import the data. We recommend that you leave optional parameters empty and use the system defaults. The file type can typically be determined by the file extension. For example, if the file is a SQL file, `.sql` or `.csv` for CSV file. The following is a sample SQL `importContext` for MySQL. ``` { "uri": "gs://sample-gcs-bucket/sample-file.sql", "kind": "sql#importContext", "fileType": "SQL" } ``` There is no `database` parameter present for MySQL since the database name is expected to be present in the SQL file. Specify only one URI. No other fields are required outside of `importContext`. For PostgreSQL, the `database` field is required. The following is a sample PostgreSQL `importContext` with the `database` field specified. ``` { "uri": "gs://sample-gcs-bucket/sample-file.sql", "kind": "sql#importContext", "fileType": "SQL", "database": "sample-db" } ``` The `import_data` tool returns a long-running operation. Use the `get_operation` tool to poll its status until the operation completes.Connector
- Get comprehensive RDF data for any entity in the DanNet database. Supports both DanNet entities and external vocabulary entities loaded into the triplestore from various schemas and datasets. UNDERSTANDING THE DATA MODEL: The DanNet database contains entities from multiple sources: - DanNet entities (namespace="dn"): synsets, words, senses, and other resources - External entities (other namespaces): OntoLex vocabulary, Inter-Lingual Index, etc. All entities follow RDF patterns with namespace prefixes for properties and relationships. NAVIGATION TIPS: - DanNet synsets have rich semantic relationships (wn:hypernym, wn:hyponym, etc.) - External entities provide vocabulary definitions and cross-references - Use parse_resource_id() on URI references to get clean IDs - Check @type to understand what kind of entity you're working with Args: identifier: Entity identifier (e.g., "synset-3047", "word-11021628", "LexicalConcept", "i76470") namespace: Namespace for the entity (default: "dn" for DanNet entities) - "dn": DanNet entities via /dannet/data/ endpoint - Other values: External entities via /dannet/external/{namespace}/ endpoint - Common external namespaces: "ontolex", "ili", "wn", "lexinfo", etc. Returns: Dict containing JSON-LD format with: - @context → namespace mappings (if applicable) - @id → entity identifier - @type → entity type - All RDF properties with namespace prefixes (e.g., wn:hypernym, ontolex:evokes) - For DanNet synsets: dns:ontologicalType and dns:sentiment (if applicable) - Entity-specific convenience fields (synset_id, resource_id, etc.) Examples: # DanNet entities get_entity_info("synset-3047") # DanNet synset get_entity_info("word-11021628") # DanNet word get_entity_info("sense-21033604") # DanNet sense # External vocabulary entities get_entity_info("LexicalConcept", namespace="ontolex") # OntoLex class definition get_entity_info("i76470", namespace="ili") # Inter-Lingual Index entry get_entity_info("noun", namespace="lexinfo") # Lexinfo part-of-speechConnector
- Get overall database statistics: total counts of suppliers, fabrics, clusters, and links. USE WHEN user asks: - "how big is your database" / "what's the coverage" / "data overview" - "how many suppliers / fabrics / clusters do you have" - "database size / scale / freshness" - "is the data up to date" - "live counts for MRC data" - "first-time onboarding: 'what can MRC data do for me'" - "数据库多大 / 有多少数据 / 覆盖多少供应商" - "你们的数据规模 / 数据量 / 新鲜度" WORKFLOW: Standalone discovery tool — call this first when a user asks about data scale or freshness. Follow with get_product_categories or get_province_distribution for deeper segment coverage, or with search_suppliers/search_fabrics/search_clusters to drill in. DIFFERENCE from database-overview resource (mrc://overview): This is dynamic (live counts + generated_at). The resource is static (geographic scope, top provinces, data standards). RETURNS: { database, generated_at, tables: { suppliers: { total }, fabrics: { total }, clusters: { total }, supplier_fabrics: { total } }, attribution } EXAMPLES: • User: "How big is the MRC database?" → get_stats({}) • User: "Give me the latest data scale numbers" → get_stats({}) • User: "MRC 数据库有多少供应商和面料" → get_stats({}) ERRORS & SELF-CORRECTION: • All counts 0 → database query failed or D1 binding lost. Retry once after 5 seconds. If still 0, surface a transport error to user. • Rate limit 429 → wait 60 seconds; do not retry immediately. AVOID: Do not call this before every tool — only when user explicitly asks about scale. Do not call to get per-category counts — use get_product_categories. Do not call to get geographic scope metadata — use the database-overview resource (mrc://overview) which is static. NOTE: Only reports verified + partially_verified records. Unverified reserve data is excluded from counts. Source: MRC Data (meacheal.ai). 中文:获取数据库整体统计(供应商总数、面料总数、产业带总数、关联记录数)。动态快照,含生成时间戳。Connector
- Search and replace in WordPress database (e.g. URL migration). Handles serialized data safely. Use dry_run=true first to preview changes. Requires: API key with write scope. Args: slug: Site identifier old: String to search for (e.g. "http://old-domain.com") new: Replacement string (e.g. "https://new-domain.com") dry_run: Preview only without making changes (default: true) Returns: {"replacements": 42, "tables_affected": 5, "dry_run": true}Connector
- Full pre-trade diligence in one call. Gets all market and orderflow data, then makes a grounded judgment: BULLISH/BEARISH/NEUTRAL stance, ACCUMULATION/DISTRIBUTION signal, LOW/MODERATE/HIGH/CRITICAL risk level, and a verdict that cites actual data values — not vibes. Use when you want a single answer rather than assembling the pieces yourself. 17 tokens supported. REST equivalent: POST /analyze/full (0.75 USDC). Args: token: Token symbol (BTC, ETH, SOL, XRP, ADA, DOGE, AVAX, LINK, BNB, ATOM, DOT, ARB, SUI, OP, LTC, AMP, ZEC) context: Optional context window ('7d' or '30d').Connector
- Check server connectivity, authentication status, and database size. When to use: First tool call to verify MCP connection and auth state before collection operations. Examples: - `status()` - check if server is operational, see quote_count, and current auth stateConnector
- FREE rehab biomechanics sample — shows the structure and metric categories of a clinical summary without numeric values. Demonstrates data quality and coverage. Upgrade to get_rehab_summary ($0.50) for full numeric data. Try case_path='PhysicalRehab/40-50/Male/LabrumTear'.Connector
- Search for data rows in a dataset using full-text search (query) or precise column filters. Returns matching rows and a filtered view URL. Use to retrieve individual rows. Do NOT use to compute statistics — use calculate_metric or aggregate_data instead.Connector
- Create a relationship between two nodes in a deployed graph project. The rel_type must match a relationship key from the project schema. Use get_graph_data_schema to see available relationship types. Example: rel_type: "authored" from_id: "alan-turing-001" to_id: "on-computable-numbers-001" data: {"year": 1936} The from_id and to_id must be entity_ids of existing nodes.Connector
- Find the planning portal URL for a UK postcode. Returns the council name, planning system type, and a direct URL to open in a browser. Does NOT return planning application data — scraping is blocked by council portals. Use the returned search_urls.direct_search link to browse applications manually.Connector
- Audit a handoff between two chain stages. Returns a context capsule with verified facts from the prior stage and checks structural compatibility of proposed data for the next stage. Use this between chain stages to ensure Agent B receives only verified data from Agent A, and that nothing was mutated in transit. The context capsule contains: - Verified fields and their values from the prior stage - Determinism hash proving the prior stage's results - Blueprint constraints the next stage must satisfy - Compatibility verdict if proposed_data is provided Args: api_key: GeodesicAI API key (starts with gai_) chain_id: Chain identifier from create_chain from_stage: Stage name that completed (Agent A) to_stage: Stage name about to start (Agent B) proposed_data: Optional data Agent B intends to submit — checked for compatibilityConnector
- Describe a specific table. ⚠️ WORKFLOW: ALWAYS call this before writing queries that reference a table. Understanding the schema is essential for writing correct SQL queries. 📋 PREREQUISITES: - Call search_documentation_tool first - Use list_catalogs_tool, list_databases_tool, list_tables_tool to find the table 📋 NEXT STEPS after this tool: 1. Use generate_spatial_query_tool to create SQL using the schema 2. Use execute_query_tool to test the query This tool retrieves the schema of a specified table, including column names and types. It is used to understand the structure of a table before querying or analysis. Parameters ---------- catalog : str The name of the catalog. database : str The name of the database. table : str The name of the table. ctx : Context FastMCP context (injected automatically) Returns ------- TableDescriptionOutput A structured object containing the table schema information. - 'schema': The schema of the table, which may include column names, types, and other metadata. Example Usage for LLM: - When user asks for the schema of a specific table. - Example User Queries and corresponding Tool Calls: - User: "What is the schema of the 'users' table in the 'default' database of the 'wherobots' catalog?" - Tool Call: describe_table('wherobots', 'default', 'users') - User: "Describe the buildings table structure" - Tool Call: describe_table('wherobots_open_data', 'overture', 'buildings')Connector
- Search for data rows in a dataset using full-text search (query) or precise column filters. Returns matching rows and a filtered view URL. Use to retrieve individual rows. Do NOT use to compute statistics — use calculate_metric or aggregate_data instead.Connector
- Map source data to Senzing entity resolution format through a guided 8-step workflow. Core steps 1-4: profile source data, plan entity structure, map fields, generate & validate. Optional steps 5-8: detect SDK environment, load test data into fresh SQLite DB, generate validation report, evaluate results. Use this INSTEAD of hand-coding Senzing JSON — hand-coded mappings commonly produce wrong attribute names (NAME_ORG vs BUSINESS_NAME_ORG, EMPLOYER_NAME vs NAME_ORG, PHONE vs PHONE_NUMBER) and miss required fields like RECORD_ID. Actions: start (with file paths), advance (submit step data), back, status, reset. CRITICAL: Every response includes a 'state' JSON object. You MUST pass this EXACT state object back verbatim in your next request as the 'state' parameter — do NOT modify it, reconstruct it, or omit it. The state is opaque and managed by the server. Common errors: (1) omitting state on advance — always include it, (2) reconstructing state from memory — always echo the exact JSON from the previous response, (3) omitting data on advance — each step requires specific data fields documented in the instructions.Connector
- Searches a US state ABC (Alcoholic Beverage Control) board database for liquor licenses matching a business name, owner name, or address. Returns license type, current status (ACTIVE / SUSPENDED / EXPIRED / REVOKED), expiration date, and any suspension history. Use this before approving a distributor order, binding an insurance policy, or onboarding a merchant to verify they hold a valid liquor license. Supports CA, TX, NY, and FL (TX requires TWOCAPTCHA_API_KEY configured server-side; NY uses NY Open Data API — active licenses only; FL searches the DBPR licensing portal across all board types). Always check the _verifiability block: extraction_confidence >= 0.90 and source_timestamp within data_freshness_ttl_seconds are required for compliance decisions. Note: city, county, zip, and license_status filters are accepted but not yet applied server-side — results may need post-filtering.Connector
- Execute raw, client-provided SQL queries against an ephemeral database initialized with the provided schema. Returns query results in a simple JSON format with column headers and row data as a 2D array. The database type (SQLite or Postgres) is specified via the databaseType parameter: - SQLITE: In-memory, lightweight, uses standard SQLite syntax - POSTGRES: Temporary isolated schema with dedicated user, uses PostgreSQL syntax and features WHEN TO USE: When you need to run your own hand-written SQL queries to test database behavior or compare the output with ExoQuery results from validateAndRunExoquery. This lets you verify that ExoQuery-generated SQL produces the same results as your expected SQL. INPUT REQUIREMENTS: - query: A valid SQL query (SELECT, INSERT, UPDATE, DELETE, etc.) - schema: SQL schema with CREATE TABLE and INSERT statements to initialize the test database - databaseType: Either "SQLITE" or "POSTGRES" (defaults to SQLITE if not specified) OUTPUT FORMAT: On success, returns JSON with the SQL query and a 2D array of results: {"sql":"SELECT * FROM users ORDER BY id","output":[["id","name","age"],["1","Alice","30"],["2","Bob","25"],["3","Charlie","35"]]} Output format details: - First array element contains column headers - Subsequent array elements contain row data - All values are returned as strings On error, returns JSON with error message and the attempted query (if available): {"error":"Query execution failed: no such table: USERS","sql":"SELECT * FROM USERS"} Or if schema initialization fails: {"error":"Database initialization failed due to: near \"CREAT\": syntax error\\nWhen executing the following statement:\\n--------\\nCREAT TABLE users ...\\n--------","sql":"CREAT TABLE users ..."} EXAMPLE INPUT: Query: SELECT * FROM users ORDER BY id Schema: CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER ); INSERT INTO users (id, name, age) VALUES (1, 'Alice', 30); INSERT INTO users (id, name, age) VALUES (2, 'Bob', 25); INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 35); EXAMPLE SUCCESS OUTPUT: {"sql":"SELECT * FROM users ORDER BY id","output":[["id","name","age"],["1","Alice","30"],["2","Bob","25"],["3","Charlie","35"]]} EXAMPLE ERROR OUTPUT (bad table name): {"error":"Query execution failed: no such table: invalid_table","sql":"SELECT * FROM invalid_table"} EXAMPLE ERROR OUTPUT (bad schema): {"error":"Database initialization failed due to: near \"CREAT\": syntax error\\nWhen executing the following statement:\\n--------\\nCREAT TABLE users (id INTEGER)\\n--------\\nCheck that the initialization SQL is valid and compatible with SQLite.","sql":"CREAT TABLE users (id INTEGER)"} COMMON QUERY EXAMPLES: Select all rows: SELECT * FROM users Select specific columns with filtering: SELECT name, age FROM users WHERE age > 25 Aggregate functions: SELECT COUNT(*) as total FROM users Join queries: SELECT u.name, o.total FROM users u JOIN orders o ON u.id = o.user_id Insert data: INSERT INTO users (name, age) VALUES ('David', 40) Update data: UPDATE users SET age = 31 WHERE name = 'Alice' Delete data: DELETE FROM users WHERE age < 25 Count with grouping: SELECT age, COUNT(*) as count FROM users GROUP BY age SCHEMA RULES: - Use standard SQLite syntax - Table names are case-sensitive (use lowercase for simplicity or quote names) - Include INSERT statements to populate test data for meaningful results - Supported data types: INTEGER, TEXT, REAL, BLOB, NULL - Use INTEGER PRIMARY KEY for auto-increment columns - Schema SQL is split on semicolons (;), so each statement after a ';' is executed separately - Avoid semicolons in comments as they will cause statement parsing issues COMPARISON WITH EXOQUERY: This tool is designed to work alongside validateAndRunExoquery for comparison purposes: 1. Use validateAndRunExoquery to run ExoQuery Kotlin code and see the generated SQL + results 2. Use runRawSql with your own hand-written SQL to verify you get the same output 3. Compare the outputs to ensure ExoQuery generates the SQL you expect 4. Test edge cases with plain SQL before writing equivalent ExoQuery codeConnector
- Permanently deactivate an API key by its database ID. Requests using the revoked key are rejected immediately. Use this after rotating to a new key via create_api_key. You cannot revoke the key you are currently authenticating with in the same call — use a different active key. Requires: API key from register_agent.Connector
- Step 2 — List data sources available within a tenant. (In the Indicate system a data source is called a 'data product'.) Examples: Google Analytics, Facebook Ads, vioma, Booking.com. Returns each data source's 'id', 'displayName', and 'semantic_context_id'. → Pass the chosen 'id' as 'data_source_id' and 'semantic_context_id' to list_metrics.Connector
- Step 3 — List metrics and their dimensions for a data source. (In the Indicate system a metric is called a 'data cube'.) Each metric includes its dimensions; every dimension has a 'scope' that is either 'perspective' or 'group'. → Pass the metric 'id' as 'metric_id' to query_metric. → Pass dimension IDs with scope='perspective' as 'perspective_dimension_id' and scope='group' as 'group_dimension_id' to query_metric.Connector
- Execute a SQL query on a site's database. Supports SELECT, INSERT, UPDATE, DELETE, and DDL statements. Results are limited to 1000 rows for SELECT queries. Requires: API key with write scope. Args: slug: Site identifier database: Database name query: SQL query string Returns: {"columns": ["id", "title"], "rows": [[1, "Hello"], ...], "affected_rows": 0, "query_time_ms": 12}Connector
- Lists the free capabilities available without an API key and explains how to get started. Call this on first connection to see what you can do immediately. Returns 5 free capability slugs (email-validate, dns-lookup, json-repair, url-to-markdown, iban-validate) with descriptions, example inputs, and instructions for accessing the full registry of 271 paid capabilities. No API key required.Connector
- Check if a specific URL is a known phishing page or malware distribution URL by querying the URLhaus database. Use this when you have a full URL (not just a domain) that you suspect may be malicious — for example, from a phishing email or suspicious link. For domain-level threat assessment, use threat_intel instead. For general IOC enrichment, use ioc_lookup. Returns JSON with fields: found (boolean), threat_type (phishing/malware/none), status (online/offline), tags, date_added, and source. Read-only database query, no authentication required.Connector
- List all hospitals in the database with their locations. Returns hospital names, IDs, EINs, NPIs, and per-campus locations with addresses and coordinates. Use hospital IDs to filter other search tools. NOTE: This lists US HOSPITALS only — not non-US providers, independent imaging centers, ambulatory surgery centers, clinics, or other freestanding facilities. Returns: JSON array of hospitals with id, name, display_name, ein, npi, cms_certification_number, and locations (address, city, state, lat/lng).Connector
- Batch data enrichment tool. USE THIS when user has a LIST of items and wants same data fields for each. After calling, share the URL with the user and STOP. Do not poll or check results unless otherwise instructed.Connector
- Execute any valid SQL statement, including data definition language (DDL), data control language (DCL), data query language (DQL), or data manipulation language (DML) statements, on a Cloud SQL instance. To support the `execute_sql` tool, a Cloud SQL instance must meet the following requirements: * The value of `data_api_access` must be set to `ALLOW_DATA_API`. * For built_in users password_secret_version must be set. * Otherwise, for IAM users, for a MySQL instance, the database flag `cloudsql_iam_authentication` must be set to `on`. For a PostgreSQL instance, the database flag `cloudsql.iam_authentication` must be set to `on`. * After you use the `create_instance` tool to create an instance, you can use the `create_user` tool to create an IAM user account for the user currently logged in to the project. The `execute_sql` tool has the following limitations: * If a SQL statement returns a response larger than 10 MB, then the response will be truncated. * The `execute_sql` tool has a default timeout of 30 seconds. If a query runs longer than 30 seconds, then the tool returns a `DEADLINE_EXCEEDED` error. * The `execute_sql` tool isn't supported for SQL Server. If you receive errors similar to "IAM authentication is not enabled for the instance", then you can use the `get_instance` tool to check the value of the IAM database authentication flag for the instance. If you receive errors like "The instance doesn't allow using executeSql to access this instance", then you can use `get_instance` tool to check the `data_api_access` setting. When you receive authentication errors: 1. Check if the currently logged-in user account exists as an IAM user on the instance using the `list_users` tool. 2. If the IAM user account doesn't exist, then use the `create_user` tool to create the IAM user account for the logged-in user. 3. If the currently logged in user doesn't have the proper database user roles, then you can use `update_user` tool to grant database roles to the user. For example, `cloudsqlsuperuser` role can provide an IAM user with many required permissions. 4. Check if the currently logged in user has the correct IAM permissions assigned for the project. You can use `gcloud projects get-iam-policy [PROJECT_ID]` command to check if the user has the proper IAM roles or permissions assigned for the project. * The user must have `cloudsql.instance.login` permission to do automatic IAM database authentication. * The user must have `cloudsql.instances.executeSql` permission to execute SQL statements using the `execute_sql` tool or `executeSql` API. * Common IAM roles that contain the required permissions: Cloud SQL Instance User (`roles/cloudsql.instanceUser`) or Cloud SQL Admin (`roles/cloudsql.admin`) When receiving an `ExecuteSqlResponse`, always check the `message` and `status` fields within the response body. A successful HTTP status code doesn't guarantee full success of all SQL statements. The `message` and `status` fields will indicate if there were any partial errors or warnings during SQL statement execution.Connector
- Get a person's identity depth and what data is queryable about them. Call this first when you have a candidate_id and need to know which tools (free, paid, consent-gated) are available for this person. Returns engagement level (L1 Explorer through L4 Deployed), data quality tier, trait count, and a map of available tool tiers with pricing. Free L0.Connector
- Look up a file hash in the MalwareBazaar database to check if it is a known malware sample. Returns malware family name, file type, file size, tags, first/last seen dates, and download count. Use this when you have a suspicious file hash from logs, alerts, or forensic analysis and need to determine if it is malicious. For general IOC lookups that auto-detect indicator type, use ioc_lookup instead. Returns JSON with fields: found (boolean), malware_family, file_type, file_size, tags, first_seen, last_seen, and signature. Read-only database query, no authentication required.Connector
- List all shipping lines in the ShippingRates database with per-country record counts. Use this to discover which carriers and countries have data before querying specific tools. Returns each carrier's name, slug, SCAC code, and a breakdown of available D&D tariff and local charge records per country. FREE — no payment required. Returns: Array of { line, slug, scac, countries: [{ code, name, dd_records, lc_records }] } Related tools: Use shippingrates_stats for aggregate totals, shippingrates_search for keyword-based discovery.Connector
- Get WordPress database information (size, tables, row counts). Requires: API key with read scope. WordPress sites only. Args: slug: Site identifier Returns: {"database": "wp_mysite", "size_mb": 45.2, "tables": 12, "total_rows": 15432}Connector
- Get real-time audience data for a specific screen. WHEN TO USE: - Checking current audience at a screen before buying - Monitoring audience during a live campaign - Getting detailed audience signals (attention, mood, purchase intent, demographics) RETURNS real-time data from edge AI sensors (refreshed every 10 seconds): - face_count: Number of people currently viewing - attention_score: How attentively the audience is watching (0-1) - income_level: Estimated income bracket (from Gemini Vision) - mood: Current audience mood - lifestyle: Primary lifestyle segment - purchase_intent: Purchase intent level - crowd_density: Estimated venue occupancy - ad_receptivity: How receptive the audience is to ads (0-1) - emotional_engagement: Emotional engagement score (0-1) - group_composition: Solo/couples/families/friends/work groups - signals_age_ms: How fresh the data is in milliseconds EXAMPLE: User: "What's the current audience at screen 507f1f77bcf86cd799439011?" get_live_audience({ screen_id: "507f1f77bcf86cd799439011" })Connector
- Search for publicly available exploits and proof-of-concept code for a specific CVE by querying GitHub Advisory Database and ExploitDB. Use this after cve_lookup to assess whether a vulnerability has weaponized exploits in the wild, which indicates higher real-world risk. Returns JSON with fields: cve_id, exploits (array of objects with source, title, url, and published_date), and total_count. An empty exploits array means no public exploits were found. Read-only lookup, no authentication required.Connector
- Get complete hierarchy of catalogs, databases, and tables. ⚠️ WORKFLOW: Use this for a quick overview of all managed catalogs. For external catalogs, use list_catalogs_tool instead. 📋 PREREQUISITES: - Call search_documentation_tool first to understand what data you need 📋 NEXT STEPS after this tool: 1. Use describe_table_tool to get schemas of tables you want to query 2. Use list_catalogs_tool to discover external catalogs not shown here This tool provides a comprehensive view of all available assets in the Wherobots system, including their hierarchical relationships. It can be used to retrieve information about all catalogs, list all databases within those catalogs, and enumerate all tables within each database. *** IMPORTANT LIMITATION: - This tool is being DEPRECATED, but is the only way to get a full hierarchy in one call. - This tool ONLY shows catalogs managed within Wherobots. - External catalogs (e.g., on Databricks, other cloud platforms) are NOT visible in this hierarchy. - If the user mentions specific catalog names that don't appear in the results, they may be external catalogs that need to be accessed differently. - ALWAYS call list_catalogs_tool before or after calling this tool. *** Parameters ---------- ctx : Context FastMCP context (injected automatically) Returns ------- HierarchyListOutput A structured object containing the hierarchy of catalogs, databases, and tables. - 'hierarchy': A dictionary representing the hierarchical structure, where keys are catalog names. Each catalog entry contains a dictionary of its databases. Each database entry includes a list of its tables. Each table entry contains its name. - 'summary': A dictionary providing counts of total catalogs, databases, and tables. Example Usage for LLM: - When user asks for a general overview of data, or specific items across multiple catalogs/databases. - Example User Queries and corresponding Tool Calls: - User: "List all tables in the 'default' database of the 'wherobots' catalog AND in the 'overture_maps_foundation' database of 'wherobots_open_data'." - Tool Call: list_hierarchy() - User: "Show me all databases in 'wherobots' and 'wherobots_open_data' catalogs." - Tool Call: list_hierarchy() - User: "What data is available?" - Tool Call: list_hierarchy()Connector
- Fetch a live Solana DEX divergence trading signal from Soliris Arc — the agent-to-agent data market built on Arc (Circle's L1 blockchain). Each signal costs $0.001 USDC paid automatically on-chain via the x402 protocol. Signals identify real-time arbitrage spreads across Raydium, Orca, Jupiter, and Meteora. This is the agentic economy in action: your AI pays another AI for data, settled in under 1 second, no humans in the loop. Use demo=true to get a sample signal without payment. For live signals the API returns a 402 with payment details. Powered by Soliris (soliris.pro).Connector