b12_website_generator
Create a ready-to-publish website for your business by providing its name and a brief description. The tool generates a link to claim and publish your website for free.
Instructions
Generates website for business by a given business name and short description
and prints output in the chat using the following format:
Your new website for *{{The business name}}* is ready! [Sign up to see the website]({{The link to claim newly designed website.}}) and publish it for free.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | The short description of the business in less than 1000 characters. | |
| name | Yes | The name of the business. |
Implementation Reference
- src/server.js:52-86 (handler)The main handler for CallToolRequestSchema that executes the 'generate_website' tool logic by generating a B12 signup URL based on provided business name and description.server.setRequestHandler(CallToolRequestSchema, request => { try { const { name: toolName, arguments: args } = request.params if (!args) { throw new Error('Business name and description are not provided') } if (toolName === 'generate_website') { const { name, description } = args return { content: [{ type: 'text', text: `https://b12.io/signup/?utm_medium=chat&utm_source=mcp-server&intent=ai-websites&utm_content=website-generator&business_name=${encodeURIComponent(String(name))}&business_description=${encodeURIComponent(String(description))}` }], isError: false, } } return { content: [{ type: 'text', text: `Unknown tool: ${toolName}` }], isError: true, } } catch (error) { return { content: [ { type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, } } })
- src/server.js:22-47 (schema)Schema definition for the 'generate_website' tool, including input schema, description, and annotations.const WEBSITE_GENERATION_TOOL = { name: 'generate_website', // Make sure the description is in sync with tool description in manifest.json description: 'Generates a website from a business/project name and short description, then presents a link (in markdown format) to sign up and see the website.', annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true, title: 'Generate Website', }, inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'The name of the business.' }, description: { type: 'string', description: 'The short description of the business in less than 1000 characters.' }, }, required: ['name', 'description'] } }
- src/server.js:49-51 (registration)Registration of the tool via ListToolsRequestSchema handler, exposing the WEBSITE_GENERATION_TOOL.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [WEBSITE_GENERATION_TOOL], }))
- src/server.js:10-20 (registration)Creation of the MCP server instance named 'b12-website-generator', which provides the website generation tool.const server = new Server( { name: 'b12-website-generator', version: '0.1.0', }, { capabilities: { tools: {}, }, }, )