Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add exasol/mcp-server --skill exasol-virtual-schemasgit clone --depth 1 https://github.com/exasol/mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/exasol/mcp-server/exasol-virtual-schemas)<a href="https://agentmods.dev/skills/exasol/mcp-server/exasol-virtual-schemas"><img src="https://agentmods.dev/badge/skills/exasol/mcp-server/exasol-virtual-schemas/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/exasol/mcp-server/exasol-virtual-schemas"><img src="https://agentmods.dev/badge/skills/exasol/mcp-server/exasol-virtual-schemas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.01382 |
| Opus 5 | $0.00019 | $0.00691 |
| Sonnet 5 | $0.00008 | $0.00276 |
| Haiku 4.5 | $0.00004 | $0.00138 |
Grade A, and why
exasol-virtual-schemas scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Exasol Virtual Schemas
Virtual schemas expose external data sources (other databases, files, cloud services) as read-only Exasol schemas. Queries against virtual tables are pushed down to the source where possible; the rest is processed in Exasol.
How It Works
- Exasol identifies virtual tables in a query and locates the adapter script.
- It asks the adapter which operations it supports (pushdown capabilities).
- A pushdown request is sent; the adapter returns an
IMPORTstatement or aSELECTwith a UDF. - The result is merged into the rest of the query execution.
Metadata (table names, column types) is retrieved via JDBC and cached in Exasol until explicitly refreshed.
Setup
Step 1 — Upload the JDBC Driver to BucketFS
# Default driver path inside BucketFS
/buckets/bfsdefault/default/drivers/jdbc/<database>/<driver>.jar
Upload the JAR using the download_file BucketFS tool (downloads from a URL to BucketFS) or the BucketFS web interface. The download_file tool requires the JAR to be hosted at an accessible URL (e.g., a GitHub release or S3).
Step 2 — Install the Adapter Script
CREATE SCHEMA adapter_schema;
CREATE OR REPLACE JAVA ADAPTER SCRIPT adapter_schema.jdbc_adapter AS
%scriptclass com.exasol.adapter.RequestDispatcher;
%jar /buckets/bfsdefault/default/virtual-schema-dist-12.0.0.jar;
%jar /buckets/bfsdefault/default/postgresql-42.7.1.jar;
/
Replace the JAR names and paths with the actual versions in your BucketFS.
Step 3 — Create a Connection Object
CREATE OR REPLACE CONNECTION pg_conn
TO 'jdbc:postgresql://host:5432/mydb'
USER 'user' IDENTIFIED BY 'password';
Step 4 — Create the Virtual Schema
CREATE VIRTUAL SCHEMA pg_schema
USING adapter_schema.jdbc_adapter
WITH CONNECTION_NAME = 'PG_CONN'
SCHEMA_NAME = 'public';
SCHEMA_NAME is the remote schema to expose. Adapter-specific properties (e.g. CATALOG_NAME, TABLE_FILTER) go in the same WITH clause.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 184 lines · 38 tokens per session scan A 542e196be772
exasol-virtual-schemas is a skill published in the GitHub repository exasol/mcp-server (18 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 1,382 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pg-bloat-analysis
Detects and remediates table and index bloat in PostgreSQL using pgstattuple analysis. Identifies fragmentation, dead tuples, and wasted space with prioritized maintenance actions including VACUUM, REINDEX, and pgrepack recommendations.
pg-index-optimization
Performs comprehensive PostgreSQL index optimization including unused index cleanup, duplicate detection, missing index recommendations, and hypothetical index testing with HypoPG. Provides actionable CREATE/DROP INDEX statements with estimated impact.
pg-performance-baseline
Generates a comprehensive PostgreSQL performance baseline report capturing health metrics, query workload patterns, table statistics, configuration settings, index utilization, and I/O patterns. Designed for before/after comparison when making changes.
pg-query-rewrite
Guides SQL query optimization through execution plan analysis and common rewrite patterns. Covers subquery-to-JOIN conversion, CTE materialization control, OR-to-UNION, NOT IN-to-NOT EXISTS, pagination optimization, and SELECT elimination. Uses analyzequery with format and settings parameters for deep plan analysis.
pg-slow-query-diagnosis
Diagnoses slow PostgreSQL queries by analyzing pgstatstatements, execution plans, index opportunities, and table statistics. Guides the agent through a systematic investigation workflow using pgtuner-mcp tools to produce actionable optimization recommendations.
pg-vacuum-tuning
Monitors and tunes PostgreSQL vacuum operations including autovacuum configuration, vacuum progress tracking, wraparound prevention, and per-table vacuum strategy. Provides tuning recommendations for high-churn OLTP and large analytical tables.