Skip to main content
Glama
pipeshub-ai

PipesHub MCP Server

Official

pipeshub_search

Idempotent

Search indexed documents by name, topic, or phrase to find matching passages and resolve them to record IDs, file names, or web links for retrieval.

Instructions

Vector / semantic search across the org's indexed documents.

Use this when the user wants to LOCATE a document — by name, topic, or a phrase to grep for — and to resolve it to a recordId. For open-ended questions across many documents, use pipeshub_chat instead, which does the retrieval internally and grounds the answer in citations.

Typical uses:

  • Resolve a doc name / topic into a recordId for pipeshub_get_record_content — step 1 of any full-document task (summarize, extract, review, "what does the doc say?").

  • Resolve a filename / phrase into a recordId for pipeshub_download_record.

  • Show the user a ranked list of matching files when they ask "find / search for X".

Not for structural questions — what is under this epic, which pages are in this space, what links to this ticket. Ranking by content cannot show how records relate; use pipeshub_get_record_content mode:"navigate".

A ranked sample, never a complete list. Hits are the top-scoring blocks from the best-matching records — not all blocks of any record, and not every record that matches. Never count them to answer "how many" / "all" / "every"; navigate the record group instead, which reports its real total.

By default it searches everything. To search only some sources, pass connector ids in apps and collection ids in kb.

Each hit is one matching passage, best match first: { recordId, recordName, score, snippet, mimeType, webUrl, ... }. One record can appear in several hits. Link a record by its webUrl.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kbNoCollection (knowledge base) ids to search. Get them from `pipeshub_sources`, where `kind` is "knowledgeBase".
appsNoConnector ids to search (for example a Jira or Google Drive connection). Get them from `pipeshub_sources`, where `kind` is "connector". Collection ids go in `kb`, not here.
limitNoNumber of results. Default 10. Use 5–10 when you only need a `recordId`.
queryYesNatural language query. Vector search across the org's indexed records.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv2.4.1
    • changedInput schema / properties / apps / description
      Previous value: -"Source-scoping ids — connector instance UUIDs and / or `knowledgeBase_<orgId>`. Get them from `pipeshub_sources`."New value: +"Connector ids to search (for example a Jira or Google Drive connection). Get them from `pipeshub_sources`, where `kind` is \"connector\". Collection ids go in `kb`, not here."
    • addedInput schema / properties / kb
      Added value: +{
      +  "description": "Collection (knowledge base) ids to search. Get them from `pipeshub_sources`, where `kind` is \"knowledgeBase\".",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Max number of result chunks. Default 10. Use a small value (5–10) when the goal is to resolve a filename / topic into a recordId."New value: +"Number of results. Default 10. Use 5–10 when you only need a `recordId`."
  2. First observedv2.3.3

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which are minimal: readOnlyHint=false, openWorldHint=true, idempotentHint=true, destructiveHint=false), the description discloses the key behavioral trait: 'A ranked sample, never a complete list' and explicitly warns against counting hits to answer 'how many'/'all'/'every'. It also explains the hit structure and that one record can appear multiple times, plus how to get the real total (navigate the record group). This adds substantial context the annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but tightly structured: bolded key points, bulleted typical uses, and a clear 'Not for' section. Every paragraph serves a purpose—purpose, usage guidance, limitations, filtering, and output format. It could be slightly more compact, but the density is justified given the tool's nuanced behavior (sample results, multiple hit sources).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description fully explains the return format: 'Each hit is one matching passage, best match first: { recordId, recordName, score, snippet, mimeType, webUrl, ... }'. It covers all operational aspects an agent needs: when to use, how to filter, what the results mean, and how to avoid misinterpretation (sample vs complete). Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds meaning beyond the property descriptions: it tells the agent where to obtain ids ('Get them from pipeshub_sources'), clarifies the apps vs kb distinction ('Collection ids go in kb, not here'), and recommends limit values for specific use cases ('Use 5–10 when you only need a recordId'). This goes beyond the schema and genuinely helps parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Vector / semantic search across the org's indexed documents') and immediately states its core use: 'LOCATE a document'. It explicitly contrasts with pipeshub_chat (open-ended questions) and pipeshub_get_record_content (structural questions), making sibling differentiation crystal clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use ('Use this when the user wants to LOCATE a document'), when-not-to-use ('Not for structural questions...'), and direct alternatives ('use pipeshub_chat instead', 'use pipeshub_get_record_content mode:"navigate"'). It also covers filtering by apps/kb and the limit recommendation for recordId retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.