mcpField
K
Kanka MCP - Model Context Protocol Server for Kanka API

Kanka MCP - Model Context Protocol Server for Kanka API

Local
github.com/ymgevaDeveloper Tools0Updated 79w ago

About Kanka MCP - Model Context Protocol Server for Kanka API

Kanka MCP connects to the Kanka API for people managing worldbuilding campaigns through AI assistants. It covers CRUD operations for characters, locations, posts, notes, and journals, with support for HTML descriptions and privacy settings.

Key features

  1. 01List accessible campaigns
  2. 02Manage characters and locations
  3. 03Manage posts for entities
  4. 04Manage notes and journals
  5. 05Handle HTML descriptions and privacy settings

Use cases

  1. 01Review Kanka campaigns and their characters
  2. 02Create or update world locations and posts
  3. 03Maintain campaign notes and journals

MCP support

The MCP server exposes Kanka API operations for campaigns, characters, locations, posts, notes, and journals as tools for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Kanka MCP - Model Context Protocol Server for Kanka API

This project provides an MCP (Model Context Protocol) server for interacting with the Kanka API. It allows AI assistants to manage campaigns, characters, locations, posts, notes, and journals in your Kanka worldbuilding projects.

Features

The server provides tools for working with:

  • Campaigns: List all user campaigns
  • Characters: List, retrieve, create, update, and delete characters
  • Locations: List, retrieve, create, update, and delete locations
  • Posts: List, retrieve, create, update, and delete posts for any entity
  • Notes: List, retrieve, create, update, and delete notes
  • Journals: List, retrieve, create, update, and delete journals

All create and update operations properly handle HTML content for description fields and support privacy settings.

Installation

Prerequisites
  • Python 3.10+
Installation
  1. Clone this repository:

    git clone https://github.com/yourusername/kanka_mcp.git
    cd kanka_mcp
    
  2. Install dependencies:

    pip install requests mcp[cli]
    

    Or if you have a pyproject.toml file:

    pip install .
    
Configuration

You need to set the KANKA_API_KEY environment variable with your Kanka API key:

export KANKA_API_KEY=your_kanka_api_key

To get your Kanka API key:

  1. Log in to your Kanka account
  2. Go to "Account Settings"
  3. Navigate to the "API" section
  4. Create or copy your API token

Usage

Running the MCP Server

Run the server directly with:

python kanka_mcp.py
Adding to MCP Server Configuration

Add the following to your MCP server configuration:

"kanka": {
    "command": "python",
    "args": [
        "FULL_PATH_TO_SCRIPT_FOLDER/kanka_mcp.py"
    ],
    "env": {
        "KANKA_API_KEY": "YOUR_KANKA_API_KEY"
    }
}

Replace FULL_PATH_TO_SCRIPT_FOLDER with the absolute path to the directory containing the kanka_mcp.py script, and YOUR_KANKA_API_KEY with your actual Kanka API key.

Available Tools

Campaigns
  • show_campaigns(): List all campaigns the user has access to.
Characters
  • list_characters(campaign_id): List all characters in a campaign.
  • get_character(campaign_id, character_id): Get a specific character by ID.
  • create_character(campaign_id, name, ...): Create a new character.
  • update_character(campaign_id, character_id, ...): Update an existing character.
  • delete_character(campaign_id, character_id): Delete a character.
Locations
  • list_locations(campaign_id): List all locations in a campaign.
  • get_location(campaign_id, location_id): Get a specific location by ID.
  • create_location(campaign_id, name, ...): Create a new location.
  • update_location(campaign_id, location_id, ...): Update an existing location.
  • delete_location(campaign_id, location_id): Delete a location.
Posts
  • list_posts(campaign_id, entity_id): List all posts for an entity.
  • get_post(campaign_id, entity_id, post_id): Get a specific post by ID.
  • create_post(campaign_id, entity_id, name, ...): Create a new post.
  • update_post(campaign_id, entity_id, post_id, ...): Update an existing post.
  • delete_post(campaign_id, entity_id, post_id): Delete a post.
Notes
  • list_notes(campaign_id): List all notes in a campaign.
  • get_note(campaign_id, note_id): Get a specific note by ID.
  • create_note(campaign_id, name, ...): Create a new note.
  • update_note(campaign_id, note_id, ...): Update an existing note.
  • delete_note(campaign_id, note_id): Delete a note.
Journals
  • list_journals(campaign_id): List all journals in a campaign.
  • get_journal(campaign_id, journal_id): Get a specific journal by ID.
  • create_journal(campaign_id, name, ...): Create a new journal.
  • update_journal(campaign_id, journal_id, ...): Update an existing journal.
  • delete_journal(campaign_id, journal_id): Delete a journal.

License

This project is licensed under the terms specified in the LICENSE file.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.