Skip to main content
Glama
huiseo

Outline Wiki MCP Server

by huiseo

find_related

Discover semantically related documents in Outline wiki to expand research, find connections, and gather context for any document.

Instructions

Find documents semantically related to a specific document.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
documentIdYes
limitNo

Implementation Reference

  • The handler function that implements the find_related tool logic: fetches the target document, performs a semantic search using brain.search on its title and initial text, filters out the source document, and returns a list of related documents with titles, URLs, and excerpts.
    async find_related(args: { documentId: string; limit?: number }) {
      if (!brain.isEnabled()) {
        return { error: ERROR_MESSAGES.SMART_FEATURES_DISABLED };
      }
    
      // Fetch document
      const { data } = await apiCall(() =>
        apiClient.post<OutlineDocument>('/documents.info', { id: args.documentId })
      );
    
      if (!data.text) {
        return { error: ERROR_MESSAGES.NO_CONTENT_TO_ANALYZE };
      }
    
      // Search for similar documents
      const results = await brain.search(data.title + ' ' + data.text.substring(0, 500), args.limit || 5);
    
      // Filter out the source document
      const related = results.filter((r) => !r.id.startsWith(args.documentId));
    
      return {
        documentId: data.id,
        title: data.title,
        related: related.map((r) => ({
          title: r.title,
          url: r.url,
          excerpt: r.text.substring(0, 200) + '...',
        })),
      };
    },
  • Zod schema definition for the find_related tool input: requires documentId and optional limit (default 5).
    export const findRelatedSchema = z.object({
      documentId,
      limit: limit.default(5).optional(),
    });
  • Registration of the find_related tool in the allTools array using createTool, providing name, description, and schema reference.
    createTool(
      'find_related',
      'Find documents semantically related to a specific document.',
      'find_related'
    ),
  • Mapping of 'find_related' to its schema in the central toolSchemas record used for tool definitions.
    find_related: findRelatedSchema,
  • TypeScript type definition for find_related input inferred from the Zod schema.
    export type FindRelatedInput = z.infer<typeof findRelatedSchema>;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/huiseo/outline-smart-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server