New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

kg_search

FIND an artefact by its name, friendly id or uuid with artefactMetadataOnly:true. This works in every organisation, with or without the knowledge graph. Without that flag the tool ANSWERS questions from inside the content (facts, themes, relationships) through the knowledge modes below, which nee...

SERVERStable Baseline SOURCEhttps://api.stablebaseline.io/functions/v1/cloud-serve/mcp
Low RISK CLASS
Category Read
Parameters 120 required
Recommended Allowedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/io-stablebaseline-sb/kg-search.md

What kg_search does on Stable Baseline

AI agents call kg_search to retrieve information from Stable Baseline without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

ParameterTypeRequiredDescription
asOf string — Dated facts and database records: return what held on this day (YYYY-MM-DD) instead of what holds now. For example the owner, status or supplier as it was on a
mode string — Knowledge mode; these need the knowledge graph. Ignored with artefactMetadataOnly:true. See the tool description for when to use each, and strongly prefer 'glob
depth number — graph: how many links away to look, 1 to 4 (default 2). path: the most steps a chain may have, 1 to 6 (default 4).
limit number — Most results to return, up to 50. Default 20, or 30 with artefactMetadataOnly:true.
query string — What to find or ask. With artefactMetadataOnly:true, the artefact's name, friendly id (for example DOC-123) or uuid. Otherwise a natural-language question: requ
offset number — Only with artefactMetadataOnly:true. Skip this many results for paging.
history boolean — Dated facts and database records: return every fact with its dates, including facts that have ended (and how they ended) and planned ones, oldest first; a datab
timeZone string — Dated facts and records: the IANA time zone to give days, dates and times in (for example Australia/Sydney, Asia/Kolkata, America/New_York). Defaults to the use
projectId string — The project to search. For the knowledge modes pass this or workspaceId: the knowledge graph is switched on per project or workspace, and a call with neither is
dstEntityId string — Required for mode='path'. Target entity to find a path TO.
srcEntityId string — Required for mode='path'. Optional source entity for mode='graph'.
workspaceId string — Alternative to projectId: the whole workspace. For the knowledge modes give one of the two. With artefactMetadataOnly:true it is optional and narrows the search

Parameters from the server's own tool schema.

Why kg_search is rated Low

Even though kg_search only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Risk signalsHigh parameter count (14 properties)

Questions about kg_search

What does the kg_search tool do? +

FIND an artefact by its name, friendly id or uuid with artefactMetadataOnly:true. This works in every organisation, with or without the knowledge graph. Without that flag the tool ANSWERS questions from inside the content (facts, themes, relationships) through the knowledge modes below, which need the organisation's knowledge graph switched on: where it is off, those calls are refused with a message saying so. The knowledge modes will not reliably find a thing by its title. FIND (artefactMetadataOnly:true): matches title, friendly id and uuid, never document content, across documents, whiteboards, plans, tasks, improvements, compliance frameworks, databases and database rows that the caller can open and the organisation has switched on. Ignores mode. Narrow it with artefactTypes, projectId or workspaceId; page with offset. Returns { artefacts: [{ result_type, id, friendly_id, title, snippet, document_id, project_id, href }], total }. To search inside document bodies use listDocuments (full-content grep). KNOWLEDGE MODES (need the knowledge graph; pass projectId or workspaceId). PICK THE MODE THAT FITS THE QUERY: • mode='local' (default): for SPECIFIC factual questions ("what does section 15 say about deposits?", "who is the Chief Counsel?"). Searches individual passages of the content by wording and by meaning. Returns precise excerpts with citations. • mode='global': for THEMATIC / OVERVIEW / SUMMARY questions ("what are the main themes", "give me an overview of the project", "what topics does this cover"). Returns summaries of the communities (groups of closely related entities) found in the content, plus curated wiki pages. Far better than 'local' for big-picture queries, because each summary already draws on many passages. ALWAYS PREFER over 'local' when the user asks for themes / summary / overview / topic landscape. • mode='graph': for RELATIONSHIP questions ("what's connected to entity X?", "who cites Section 5?"). Returns the entities connected to the one you name, and how they are related; depth sets how many links to follow. Pass query OR srcEntityId. • mode='path': for CONNECTION questions ("how does X relate to Y?"). Returns up to five of the shortest chains of relationships between two entities, each step saying how it relates to the one before, with a one-line summary; or, when there is none, a message saying why. Pass srcEntityId AND dstEntityId (both in the same project); depth is the most steps a chain may have. • mode='multihop': for MULTI-HOP discovery ("what's relevant to X, even indirectly?"). Starts from the entities closest to the query and follows their relationships outwards, giving more weight to links people authored than to links inferred from text. Best when 'local' returns too few results and the answer means following several relationships in a row. Quick decision tree: - User wants to FIND a named artefact ("the GTM plan", "DOC-123", a uuid) → artefactMetadataOnly:true - User asks for an overview/summary/themes → 'global' - User asks a specific question with a clear answer → 'local' - User asks 'how is X connected to Y' → 'path' (with both entity IDs) - User asks 'what's near entity X' → 'graph' (with srcEntityId) - 'local' returned nothing useful and the question is broad → retry with 'multihop' DATED FACTS: a knowledge-mode response also carries datedFacts for the entities the query names: what holds now by default, what held on a day with asOf, or the whole history with history:true, each fact with its dates, how it ended if it has, and its sources. Prefer them for "who owns X now", "what was X in March", "when did X change". RECORDS: where tables of the organisation's databases are in the knowledge graph, a knowledge-mode response also carries records: the database records the query names (by name, code, email or another identifier) and the records linked from the improvements and tasks in the results, each read live as the caller may see it, with the fields chosen for its table (its facts, dates and times in timeZone) and its connections. asOf and history cover records too, worked out from each record's own change log, only for records and fields you may see now: with asOf each record is given as it stood at the end of that day in timeZone (or says it did not exist yet, had been deleted by then, or that its history does not reach back that far; the history kept is limited, so an older day may be out of reach); with history:true each record also carries the changes of its title and chosen facts, oldest first (the 20 latest, with their count), with who made each. Links to other records and fields worked out from other records are not dated. For exact counts, totals or filters over a table, ask the table itself (queryDatabaseRows). It is categorised as a Read tool in the Stable Baseline MCP Server, which means it retrieves data without modifying state.

What parameters does kg_search accept? +

kg_search accepts 12 parameters: asOf, mode, depth, limit, query, offset, history, timeZone, projectId, dstEntityId, srcEntityId, workspaceId. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on kg_search? +

Register the Stable Baseline MCP server in PolicyLayer and add a rule for kg_search: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.

What risk level is kg_search? +

kg_search is a Read tool with low risk. Read-only tools are generally safe to allow by default.

Can I rate-limit kg_search? +

Yes. Add a rate_limit block to the kg_search rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block kg_search completely? +

Set action: deny in the PolicyLayer policy for kg_search. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides kg_search? +

kg_search is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Stable Baseline, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Stable Baseline's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.