create_keyword
Add keywords to your workspace to automatically gather search volume, competition, and intent data for content planning.
Instructions
Add a new keyword to the workspace. Balzac will automatically fetch search volume, competition, and intent data.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace UUID | |
| name | Yes | Keyword text, e.g. "content marketing strategy" |
Implementation Reference
- src/tools/keywords.ts:43-46 (handler)The handler function that executes the creation of a keyword by making a POST request to the API.
async ({ workspace_id, name }) => { const res = await client.post(`/workspaces/${workspace_id}/keywords`, { keyword: { name } }); return { content: [{ type: 'text' as const, text: JSON.stringify(res.data) }] }; } - src/tools/keywords.ts:39-42 (schema)The input schema for the create_keyword tool, defining the required workspace_id and name.
{ workspace_id: z.string().describe('Workspace UUID'), name: z.string().describe('Keyword text, e.g. "content marketing strategy"'), }, - src/tools/keywords.ts:36-47 (registration)The registration of the 'create_keyword' tool within the MCP server.
server.tool( 'create_keyword', 'Add a new keyword to the workspace. Balzac will automatically fetch search volume, competition, and intent data.', { workspace_id: z.string().describe('Workspace UUID'), name: z.string().describe('Keyword text, e.g. "content marketing strategy"'), }, async ({ workspace_id, name }) => { const res = await client.post(`/workspaces/${workspace_id}/keywords`, { keyword: { name } }); return { content: [{ type: 'text' as const, text: JSON.stringify(res.data) }] }; } );