Skip to main content
Glama
kj455

MCP Kibela

by kj455

kibela_create_note

Create and manage notes in Kibela by specifying title, content, folders, and groups. Enable co-editing, draft mode, and assign authors for collaborative documentation.

Instructions

Create a new note in Kibela.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
authorIdNoID of the author of the note. If not specified, the note will be created by the authenticated user.
coeditingNorequired: Whether to enable co-editing for the note
contentYesrequired: Content of the note in markdown format
draftNoWhether to create the note as a draft
foldersNoIDs of the folders to add the note to.
groupIdsNorequired: IDs of the groups to create the note in.
titleYesrequired: Title of the note

Implementation Reference

  • The handler function for 'kibela_create_note' tool that validates required parameters and calls the GraphQL 'createNote' mutation to create the note.
    handler: async ({ title, content, groupIds, folders, authorId, coediting, draft }) => {
      if (!title || !content || !groupIds || !coediting) {
        throw new Error('Title, content, groupIds, and coediting are required')
      }
    
      const response = await createNote({
        input: {
          clientMutationId: uuid(),
          title,
          content,
          groupIds,
          folders,
          authorId,
          coediting,
          draft,
        },
      })
    
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(response.createNote, null, 2),
          },
        ],
      }
    },
  • The tool definition including name, description, and input schema for parameter validation.
    tool: {
      name: 'kibela_create_note',
      description: 'Create a new note in Kibela.',
      inputSchema: {
        type: 'object',
        properties: {
          title: {
            type: 'string',
            description: 'required: Title of the note',
          },
          content: {
            type: 'string',
            description: 'required: Content of the note in markdown format',
          },
          groupIds: {
            type: 'array',
            items: {
              type: 'string',
            },
            description: 'required: IDs of the groups to create the note in.',
          },
          folders: {
            type: 'array',
            items: {
              type: 'string',
            },
            description: 'IDs of the folders to add the note to.',
          },
          authorId: {
            type: 'string',
            description:
              'ID of the author of the note. If not specified, the note will be created by the authenticated user.',
          },
          coediting: {
            type: 'boolean',
            description: 'required: Whether to enable co-editing for the note',
          },
          draft: {
            type: 'boolean',
            description: 'Whether to create the note as a draft',
          },
        },
        required: ['title', 'content'],
      },
    },
  • Registration of the 'kibela_create_note' tool by mapping it to createNoteTool in the toolDefinitions object.
    const toolDefinitions = {
      kibela_search_notes: searchNotesTool,
      kibela_get_my_notes: getMyNotesTool,
      kibela_get_note_content: getNoteContentTool,
      kibela_get_note_from_path: getNoteFromPathTool,
      kibela_update_note_content: updateNoteContentTool,
      kibela_create_note: createNoteTool,
    } as const
  • GraphQL mutation definition and helper function used by the tool handler to perform the actual note creation.
    const createNoteMutation: TypedDocumentNode<CreateNoteResponse, CreateNoteVariables> = gql`
      mutation CreateNote($input: CreateNoteInput!) {
        createNote(input: $input) {
          clientMutationId
          note {
            id
            title
            content
            url
          }
        }
      }
    `
    
    export async function createNote(variables: CreateNoteVariables): Promise<CreateNoteResponse> {
      return gqlRequest(createNoteMutation, variables)
    }

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

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/kj455/mcp-kibela'

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