create_json_doc_database
Set up and manage JSON document databases with CRUD operations, querying, and cloud sync for collaborative data sharing. Ideal for structured data storage and retrieval.
Instructions
Create a JSON document database
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| databaseName | Yes |
Implementation Reference
- src/index.ts:257-288 (handler)The main handler function for the create_json_doc_database tool inside the CallToolRequestSchema handler. It validates input with CreateDbArgsSchema, checks if database exists, creates a new Fireproof database, registers it in dbs and localJsonDbCollection, and returns a success message.case "create_json_doc_database": { const parsed = CreateDbArgsSchema.safeParse(args); if (!parsed.success) { throw new Error(`Invalid arguments for create_json_doc_database: ${parsed.error}`); } const results = await localJsonDbCollection.query<string, JsonDocDb>( "name", { range: [ parsed.data.databaseName, parsed.data.databaseName ] }); if (results.rows.length > 0) { throw new Error(`Database already exists: ${parsed.data.databaseName}`); } const newDb = fireproof(parsed.data.databaseName); dbs[parsed.data.databaseName] = { db: newDb }; await localJsonDbCollection.put<JsonDocDb>({ name: parsed.data.databaseName, created: Date.now(), }); return { content: [ { type: "text", text: `Created JSON document database: ${parsed.data.databaseName}`, } ] } }
- src/index.ts:61-63 (schema)Zod schema defining the input for create_json_doc_database: requires a databaseName string. Used for validation in handler and referenced in tool registration.const CreateDbArgsSchema = z.object({ databaseName: z.string(), });
- src/index.ts:100-104 (registration)Tool registration in the ListToolsRequestSchema handler's tools array, including name, description, and inputSchema derived from CreateDbArgsSchema.{ name: "create_json_doc_database", description: "Create a JSON document database", inputSchema: zodToJsonSchema(CreateDbArgsSchema) as ToolInput, },