initial-commit (#1)
All checks were successful
CD / test (push) Successful in 21s
CD / Check changes (push) Successful in 31s
CD / Build and push (amd64) (push) Successful in 47s
CD / Build and push (arm64) (push) Successful in 3m6s
CD / Create manifest (push) Successful in 55s

Reviewed-on: #1
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #1.
This commit is contained in:
2025-07-16 07:21:12 +02:00
committed by t.behrendt
parent 4b4d2c66d9
commit e2081a19b5
199 changed files with 28879 additions and 123 deletions

28
src/tools/collection.ts Normal file
View File

@@ -0,0 +1,28 @@
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { handleSuccess, handleError } from "./utils";
import type { ToolsFactory } from "./toolsFactory";
import type { CollectionsApi } from "../gen/api/outline";
import type { Logger } from "pino";
export const registerCollectionTools: ToolsFactory<CollectionsApi> = (server: McpServer, client: CollectionsApi, logger: Logger) => {
server.registerTool(
"collections_list",
{
title: "List Collections",
description: "List all collections in the Outline workspace",
inputSchema: {},
},
async () => {
try {
const response = await client.collectionsList();
return handleSuccess(response, logger.child({ tool: "collections_list" }));
} catch (err) {
const error = handleError(err, logger.child({ tool: "collections_list" }));
logger.error(error);
return error;
}
}
);
};