Skip to main content
Glama
databutton

Databutton MCP Server

Official
by databutton

submit_app_requirements

Submit app requirements to the Databutton MCP Server by providing app name, pitch, and detailed specifications to initiate app planning and generate initial MVP tasks.

Instructions

Submit app requirements

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the app
pitchYesThe pitch for the app
specYes

Implementation Reference

  • The main handler function implementing the 'submit_app_requirements' tool logic. Parses input with Zod schema, base64-encodes the requirements, constructs a submission URL, and returns a success response with the link or error message.
    export const submitAppRequirementsImpl = async ( args: RawArgs, ): Promise<Result> => { const parsed = parseToolInput<Input>({ input: args, schema }); if (parsed.success) { const base64Encoded = btoa(JSON.stringify(parsed.data)); const urlEncoded = encodeURIComponent(base64Encoded); return buildSimpleResponse( `App requirements submitted. Click the following link to get started: https://databutton.com/submit?requirements=${urlEncoded}`, ); } return buildSimpleResponse(parsed.message); };
  • Tool definition exporting the MCP-compatible schema (JSON schema from Zod), name, and description used for registration and validation.
    export const submitAppRequirementsDef = { name: ToolName.SUBMIT_APP_REQUIREMENTS, description: "Submit app requirements", inputSchema: zodToJsonSchema(schema), };
  • Zod schema defining the input validation for app requirements: name, pitch, and spec (description, targetAudience, design, typography).
    const schema = z.object({ name: z.string({ description: "The name of the app", }), pitch: z.string({ description: "The pitch for the app", }), spec: z.object({ description: z.string({ description: "The app's specifications given in no more than 4-5 paragraphs", }), targetAudience: z.string({ description: "The app's target audience", }), design: z.string({ description: "The app's design", }), typography: z.string({ description: "The app's typography", }), }), });
  • src/index.ts:73-77 (registration)
    Registers the tool definition in the handler for ListToolsRequestSchema, making it discoverable by MCP clients.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [submitAppRequirementsDef], }; });
  • src/index.ts:84-86 (registration)
    Dispatches execution to the tool handler in the CallToolRequestSchema switch statement.
    case submitAppRequirementsDef.name: { return await submitAppRequirementsImpl(request.params.arguments); }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/databutton/databutton-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server