Configuring metadata tables
Most databases have a catalogue of tables that describe the database itself: data dictionaries, UDF configuration, column descriptions, lookup definitions. Common examples:
- Oracle:
ALL_TABLES,ALL_TAB_COLUMNS, plus any application-level dictionary tables your team or vendor maintains. - SQL Server:
INFORMATION_SCHEMA.COLUMNS,sys.columns, plus any application-level metadata tables your team maintains.
DataStar's MCP server has a set of tools that can search and query these tables on behalf of an AI agent, but only the tables you explicitly add to the metadata tables list for your workspace. Anything outside that list is off-limits.
Why configure them
With a metadata table list in place, an agent can answer questions like:
- "What user-defined columns exist on the
ACCOUNTtable?" - "Which tables reference a specific party code?"
- "How many columns have no description?"
Without configuring any, the MCP still works, but the agent can only see what's in get_database_schema and get_table_details, which covers physical schema only, not whatever documentation your team has built on top.
How to configure
- Open the workspace you want to configure for.
- Workspace → Workspace Settings (or the cog icon on the workspace in the sidebar).
- Select the MCP tab.
- Click Add table and enter a table name. You can enter:
- Just the table name, e.g.
UDF_CONFIG - Or schema-qualified, e.g.
APP.UDF_CONFIG
- Just the table name, e.g.
- Repeat for each metadata table you want to expose.
- Save.

- Tab bar: select the Metadata Tables tab.
- Description: explains what metadata tables are and how the AI agent uses them.
- Table list: the tables exposed to MCP; Add and Delete buttons on the right.
- Action buttons: Reset, Cancel, or Save.
The settings are per-workspace, stored in the workspace's user settings file. Your teammates won't inherit them automatically; share the list as part of your onboarding.
What the agent can then do
Once a table is in the list, the metadata_table MCP tool can act on it. The tool dispatches by action:
| Action | What it does |
|---|---|
list | Enumerate the allowed set. |
describe | Show column names, types, nullability. |
query | Read rows with optional filters (=, LIKE, IS NULL, etc.) and column projection. Set countOnly=true for a SELECT COUNT(*) instead of rows. |
search | Free-text search across every column of every allowed table. |
Anything not on the list is invisible; the agent can't query it even if the database user has permission.
Recommended starter sets
- Oracle (generic)
- SQL Server (generic)
- Application-specific
ALL_TABLESALL_TAB_COLUMNSALL_CONSTRAINTSALL_TAB_COMMENTSALL_COL_COMMENTS
INFORMATION_SCHEMA.TABLESINFORMATION_SCHEMA.COLUMNSsys.extended_properties
Whatever reference tables your team uses to describe business concepts. For example, a REF_CODE_TYPES table that enumerates code systems, or UDF_CONFIG that drives user-defined fields.
Safety
- The
metadata_tabletool is read-only. There's no write equivalent. - Column names passed as filters are validated: identifiers must match
[A-Za-z0-9_.#]+. SQL injection through a column filter is not possible. - Values are parameter-escaped for single-quote embedding before being interpolated.
- Nothing is cached; every call runs against the live database, so data is fresh.
Troubleshooting
"Table X is not in the configured metadata tables". The agent tried to query a table that isn't on the list. Add it and save.
metadata_table with action='search' returns results for some tables but not others. Check the Errors field on the response. A table may have failed because it doesn't exist in the current schema, the user lacks permission, or the name is typo'd.
An agent keeps using the wrong schema prefix. Ask it to call get_database_context first. That returns the effective default schema, so it can construct the right names.
See also
- MCP Tool Catalog: full parameter reference.
- Using MCP from an AI Client: configure Claude or Kiro to use these tools.