Skip to content

Public MCP tools

These are the tools currently exposed by the public /mcp endpoint. They are read-oriented: search, entity context, and indexed file content. All return a content array of { type: "text", text }.

Search across indexed knowledge: docs, tasks, meetings, conversations, and local workspace files.

Input:

{
query?: string;
entityId?: string;
entityIds?: string[];
entityIdsMode?: "and" | "or";
kind?: "meeting" | "doc" | "task" | "message";
source?: "google_drive" | "clickup" | "linear" | "notion" | "fireflies" | "conversation" | "local";
sortBy?: "relevance" | "recency";
after?: string;
before?: string;
limit?: number;
}

Rules:

  • query can be omitted when at least one filter is present.
  • Use sortBy: "recency" for “latest” or “most recent” questions.
  • Do not combine kind with source: "local".
  • Use sketch_search_entities first when the prompt names a person, project, database, or team and you need a hard entity filter.

Returns: { content: [{ type: "text", text }] }. The text includes matching entities when found, then result blocks with sketchId, providerId, source, URL when available, and a summary or snippet.

Find projects, people, teams, databases, and other tracked entities.

Input:

{
queries: string[];
types?: string[];
}

Returns: { content: [{ type: "text", text }] }, where the text is JSON containing matched entities:

Array<{
id: string;
name: string;
sourceType: string;
subtype: string | null;
aliases: string[];
status: string;
hotness: number;
}>

Get a cross-source timeline for one entity.

Input:

{
entityId: string;
limit?: number;
since?: string;
}

Returns: { content: [{ type: "text", text }] }. The text includes the entity name, type, status, mention count, and recent mention snippets with dates and source files.

Retrieve full indexed file content by sketchId.

Input:

{
fileId: string;
}

Returns: { content: [{ type: "text", text }] }. The text includes file name, source, URL when available, and file content or summary.