add-to-knowledge-base
Enhance your knowledge base by adding new text resources with ease. Specify the knowledge base ID, resource name, and content to update and organize information effectively.
Instructions
Add new text resources to a knowledge base.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Text content to add | |
| knowledgeBaseId | Yes | Knowledge base ID | |
| name | Yes | Resource name |
Implementation Reference
- src/index.ts:925-949 (registration)Registration of the 'add-to-knowledge-base' tool using McpServer.tool, including inline schema and handler.server.tool( "add-to-knowledge-base", "Add new text resources to a knowledge base.", { knowledgeBaseId: z.string().describe("Knowledge base ID"), name: z.string().describe("Resource name"), content: z.string().describe("Text content to add"), }, async ({ knowledgeBaseId, name, content }) => { const apiKey = process.env.DUMPLING_API_KEY; if (!apiKey) throw new Error("DUMPLING_API_KEY not set"); const response = await fetch(`${NWS_API_BASE}/api/v1/knowledge-bases/add`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}`, }, body: JSON.stringify({ knowledgeBaseId, name, content }), }); if (!response.ok) throw new Error(`Failed: ${response.status} ${await response.text()}`); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } );
- src/index.ts:928-932 (schema)Input schema using Zod for knowledgeBaseId (string), name (string), and content (string).{ knowledgeBaseId: z.string().describe("Knowledge base ID"), name: z.string().describe("Resource name"), content: z.string().describe("Text content to add"), },
- src/index.ts:933-948 (handler)Handler function that authenticates with DUMPLING_API_KEY and POSTs to the Dumpling AI API endpoint to add the resource to the knowledge base, returning the API response as text content.async ({ knowledgeBaseId, name, content }) => { const apiKey = process.env.DUMPLING_API_KEY; if (!apiKey) throw new Error("DUMPLING_API_KEY not set"); const response = await fetch(`${NWS_API_BASE}/api/v1/knowledge-bases/add`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}`, }, body: JSON.stringify({ knowledgeBaseId, name, content }), }); if (!response.ok) throw new Error(`Failed: ${response.status} ${await response.text()}`); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; }