create_google_document
Generate and store new Google Docs by providing a title and optional initial content. Integrates with the Google Docs MCP Server for streamlined document creation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | ドキュメントの初期内容(オプション) | |
| title | Yes | 新しいドキュメントのタイトル |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"content": {
"description": "ドキュメントの初期内容(オプション)",
"type": "string"
},
"title": {
"description": "新しいドキュメントのタイトル",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
}
Implementation Reference
- src/mcp/tools/createDocument.ts:32-60 (handler)The executeInternal method implements the core logic of the 'create_google_document' tool: validates args, uses GoogleDocsService to create a new document with title and optional content, logs progress, and returns success response with document ID.protected async executeInternal(args: { title: string; content?: string; }): Promise<McpToolResponse> { // 引数検証 this.validateArgs(args, ["title"]); const { title, content = "" } = args; this.logger.info(`ドキュメント作成開始: タイトル="${title}"`); try { // Google Docsサービスを取得 const docsService = await this.serviceContainer.getGoogleDocsService(); // ドキュメントを作成 const documentId = await docsService.createNewDocument(title, content); this.logger.info( `ドキュメント作成完了: ${documentId}, タイトル="${title}"`, ); return this.createSuccessResponse( `ドキュメントが作成されました。ID: ${documentId}`, ); } catch (error) { this.logger.error(`ドキュメント作成エラー: タイトル="${title}"`, error); throw error; // BaseMcpToolでエラーハンドリング } }
- The schema getter defines the input schema for the tool using Zod: required 'title' string and optional 'content' string.get schema() { return { title: z.string().describe("新しいドキュメントのタイトル"), content: z .string() .optional() .describe("ドキュメントの初期内容(オプション)"), }; }
- src/mcp/registry.ts:54-54 (registration)Instantiation and registration of the CreateDocumentTool (named 'create_google_document') in the ToolRegistry's registerDefaultTools method.this.registerTool(new CreateDocumentTool(this.serviceContainer));