Tools MCP Server

Tools MCP Server

An MCP server that provides utility tools for markdown processing, including ADF-to-markdown conversion, table formatting, and table of contents management.

Category
Visit Server

README

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.

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

Global Configuration (recommended)

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured