list_entries
Retrieve a paginated global timeline of all notes, captured emails, and completed tasks across the entire Capsule account, sorted most-recent-first. Ideal for viewing company-wide activity over a period.
Instructions
Global timeline feed: every note, captured email, and completed-task record across the whole Capsule account, paginated. Default order is most-recent-first. Use this for 'what activity happened today/this week across the company?' rather than iterating list_party_entries / list_opportunity_entries / list_project_entries.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| perPage | No | ||
| embed | No | Comma-separated embeds, e.g. 'attachments,participants' |
Implementation Reference
- src/tools/entries.ts:77-84 (handler)The actual handler function for the 'list_entries' tool. Calls capsuleGet('/entries') with pagination params (page, perPage, embed) and returns the entries data with a nextPage cursor.
export async function listEntries(input: z.infer<typeof listEntriesSchema>) { const { data, nextPage } = await capsuleGet<{ entries: unknown[] }>("/entries", { embed: input.embed, page: input.page, perPage: input.perPage, }); return { ...data, nextPage }; } - src/tools/entries.ts:73-75 (schema)Zod schema for 'list_entries' input validation. Uses listEntriesPagination (page with default 1, perPage with default 25, and embed string).
export const listEntriesSchema = z.object({ ...listEntriesPagination, }); - src/tools/entries.ts:9-13 (schema)Shared pagination fields (page, perPage, embed) used by listEntriesSchema and all list_*_entries schemas.
const listEntriesPagination = { page: z.number().int().positive().optional().default(1), perPage: z.number().int().min(1).max(100).optional().default(25), embed: z.string().optional().describe(EMBED_ATTACHMENTS_PARTICIPANTS_DESCRIPTION), }; - src/server.ts:690-696 (registration)Registration of the 'list_entries' tool via registerTool helper. Maps the tool name 'list_entries' to listEntriesSchema and listEntries handler.
registerTool( server, "list_entries", "Global timeline feed: every note, captured email, and completed-task record across the whole Capsule account, paginated. Default order is most-recent-first. Use this for 'what activity happened today/this week across the company?' rather than iterating list_party_entries / list_opportunity_entries / list_project_entries.", listEntriesSchema, listEntries, ); - src/server/register-tool.ts:39-59 (helper)Generic registerTool helper that wraps a handler's return value in the MCP text-content response shape and registers it with the MCP SDK server.
export function registerTool<Schema extends z.ZodObject<ZodRawShape>>( server: McpServer, name: string, description: string, schema: Schema, handler: (input: z.infer<Schema>) => Promise<unknown>, ): void { // Use the SDK config-form registerTool with the full Zod schema. The // deprecated shape overload rebuilds z.object(schema.shape), which drops // object-level refinements such as superRefine. const registerWithSchema = server.registerTool.bind(server) as ( toolName: string, config: { description: string; inputSchema: Schema }, callback: (input: z.infer<Schema>) => Promise<CallToolResult>, ) => void; registerWithSchema(name, { description, inputSchema: schema }, async (input) => { const result = await handler(input); return wrapAsText(result); }); }