Skip to main content
Glama

Tools MCP Server

An MCP (Model Context Protocol) server that exposes a collection of utility tools for AI agents. This modular server allows agents to perform complex operations through well-defined tool interfaces.

Features

Markdown Collection

  • ADF to Markdown: Convert Atlassian Document Format (ADF) to Extended Markdown

  • Markdown to ADF: Convert Extended Markdown to Atlassian Document Format

  • Table Formatting: Format tables with aligned columns for human readability

  • TOC Management: Generate and refresh table of contents based on document headings

Supports all ADF elements including panels, tables, media, mentions, code blocks, and more.

Related MCP server: Markdown-To-Notion

Installation

npm install
npm run build

Claude Desktop Setup

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "toolkit": {
      "command": "node",
      "args": ["/absolute/path/to/tools-mcp-server/build/index.js"]
    }
  }
}

Important: Use absolute paths, not relative paths.

After updating the configuration, fully quit Claude Desktop (Cmd+Q on macOS) and reopen it.

Claude Code Setup

Edit ~/.claude.json and add the server under the mcpServers key. This makes the server available in all projects without per-project approval prompts:

{
  "mcpServers": {
    "toolkit": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/tools-mcp-server/build/index.js"]
    }
  }
}

Project Configuration

Alternatively, add a .mcp.json file to your project root for project-specific access:

{
  "mcpServers": {
    "toolkit": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/tools-mcp-server/build/index.js"]
    }
  }
}

After adding the config, restart Claude Code (exit then claude).

Available Tools

Markdown Collection

Tool

Description

Parameters

markdown_adf_to_markdown

Convert ADF JSON to Extended Markdown

adf (ADF document object)

markdown_markdown_to_adf

Convert Extended Markdown to ADF JSON

markdown (string)

markdown_format_tables

Format tables with aligned columns

markdown (string)

markdown_refresh_toc

Refresh existing TOC to match current headings

markdown (string), minLevel?, maxLevel?

markdown_generate_toc

Generate TOC from headings (without inserting)

markdown (string), minLevel?, maxLevel?

markdown_insert_toc

Replace /toc markers with generated TOC

markdown (string), minLevel?, maxLevel?

markdown_format

Combined formatting (tables + /toc + TOC refresh)

markdown (string), formatTables? (bool), processTOC? (bool)

Usage Examples

Once configured, you can ask Claude:

  • "Convert this Confluence ADF to markdown"

  • "Transform this markdown into ADF format for Jira"

  • "Parse this ADF document and give me the markdown equivalent"

  • "Format the tables in this markdown file"

  • "Refresh the table of contents"

  • "Generate a TOC for this document"

Example: ADF to Markdown

{
  "name": "markdown_adf_to_markdown",
  "arguments": {
    "adf": {
      "type": "doc",
      "version": 1,
      "content": [
        {
          "type": "paragraph",
          "content": [
            { "type": "text", "text": "Hello " },
            { "type": "text", "text": "World", "marks": [{ "type": "strong" }] }
          ]
        }
      ]
    }
  }
}

Returns: Hello **World**

Example: Markdown to ADF

{
  "name": "markdown_markdown_to_adf",
  "arguments": {
    "markdown": "# Heading\n\nThis is a **bold** statement."
  }
}

Returns a complete ADF document structure.

Example: Format Tables

Input:

| Name | Age | City |
|---|---|---|
| Alice | 30 | New York |
| Bob | 25 | Los Angeles |

Output:

| Name  | Age | City        |
| ----- | --- | ----------- |
| Alice | 30  | New York    |
| Bob   | 25  | Los Angeles |

Example: Generate TOC

Input document with headings:

# Main Title
## Section 1
### Subsection 1.1
## Section 2

Generated TOC:

- [Main Title](#main-title)
  - [Section 1](#section-1)
    - [Subsection 1.1](#subsection-11)
  - [Section 2](#section-2)

Example: Insert TOC with /toc Marker

Input:

# My Document

/toc

## Introduction

Content here...

## Conclusion

Final thoughts.

Output:

# My Document

- [My Document](#my-document)
  - [Introduction](#introduction)
  - [Conclusion](#conclusion)

## Introduction

Content here...

## Conclusion

Final thoughts.

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run the server (for testing)
npm start

# Format code
npm run format

# Lint code
npm run lint

Adding New Tool Collections

  1. Create a new folder under src/tools/ (e.g., src/tools/json/)

  2. Define your tools array and handler function following the markdown pattern

  3. Export tools array and handleTool function

  4. Import and register in src/index.ts

Testing with MCP Inspector

npx @modelcontextprotocol/inspector node build/index.js

License

MIT

Available Tools

7 tools
markdown_adf_to_markdownA

Convert Atlassian Document Format (ADF) to Extended Markdown. ADF is used by Atlassian products like Jira and Confluence. Supports all ADF elements including panels, tables, media, mentions, and more.

Inputs: adf (required).

markdown_formatA

Format markdown for human readability. Combines table formatting, /toc marker replacement, and TOC refresh in one operation. Use options to control which formatting is applied.

Inputs: markdown (required), processTOC, formatTables.

markdown_format_tablesA

Format markdown tables for human readability. Calculates optimal column widths based on content and aligns all cells. Preserves column alignment markers (left, center, right).

Inputs: markdown (required).

markdown_generate_tocA

Generate a table of contents from markdown headings. Returns TOC lines without inserting them. Use this to create a new TOC for a document that doesn't have one.

Inputs: markdown (required), maxLevel, minLevel.

markdown_insert_tocA

Replace /toc markers in markdown with generated table of contents. Finds lines containing only '/toc' and replaces them with a TOC based on document headings.

Inputs: markdown (required), maxLevel, minLevel.

markdown_markdown_to_adfA

Convert Extended Markdown to Atlassian Document Format (ADF). Supports standard markdown plus ADF extensions like panels, expands, media placeholders, mentions, and status indicators.

Inputs: markdown (required).

markdown_refresh_tocA

Refresh an existing table of contents (TOC) in markdown to match current headings. Detects TOC by pattern (- text), regenerates anchors, and updates indentation. Returns unchanged if no TOC exists.

Inputs: markdown (required), maxLevel, minLevel.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a distinct purpose: conversion between ADF and Markdown is directional, TOC tools are differentiated by generate/insert/refresh actions, and the format tool is explicitly a combined operation. No two tools have overlapping functionality.

    Naming Consistency5/5

    All tool names follow a consistent pattern of 'markdown_' prefix followed by verb-oriented terms (e.g., format_tables, generate_toc). The conversion tools use a clear directional suffix (adf_to_markdown/markdown_to_adf), and all names are in lowercase snake_case.

    Tool Count5/5

    Seven tools is a well-scoped set for a markdown utility server, covering conversion, formatting, and TOC management without unnecessary bloat or missing essentials.

    Completeness5/5

    The tool surface covers the full lifecycle of markdown manipulation: bidirectional ADF conversion, table formatting, TOC generation/insertion/refresh, and a combined formatter. No obvious gaps or dead ends for the stated domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers