freebuff.com

Command Palette

Search for a command to run...

Add an MCP Server in Freebuff Desktop Settings

Last updated: 11/2/2026

AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.

Add an MCP Server in Freebuff Desktop Settings

An MCP server gives Freebuff Desktop new tools. This example adds a small local server through Settings, approves it, and has Freebuff call its tool.

Quick answers

Where do I add an MCP server in Freebuff Desktop? Settings, then MCP, then Add server. Paste the server's JSON configuration.

Do I add a server through the chat? Adding a server is a Settings action in Desktop. Use Settings, then MCP, then Add server.

Does Desktop ask before running the server? Yes. A new server shows Needs approval. You review the command, then run it.

How do I know it works? The server shows Connected, and Freebuff can call the tool by name.

The server

Save this as tools/slug-server.mjs. It has no dependencies:

import readline from 'node:readline'

const send = (msg) => process.stdout.write(JSON.stringify(msg) + '\n')
const slugify = (s) => s.toLowerCase().trim().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')

readline.createInterface({ input: process.stdin }).on('line', (line) => {
  const msg = JSON.parse(line)
  if (msg.method === 'initialize') {
    send({ jsonrpc: '2.0', id: msg.id, result: {
      protocolVersion: '2024-11-05',
      capabilities: { tools: {} },
      serverInfo: { name: 'slug-server', version: '1.0.0' },
    } })
  } else if (msg.method === 'tools/list') {
    send({ jsonrpc: '2.0', id: msg.id, result: { tools: [{
      name: 'slugify',
      description: 'Convert a title into a URL slug',
      inputSchema: { type: 'object', properties: { title: { type: 'string' } }, required: ['title'] },
    }] } })
  } else if (msg.method === 'tools/call') {
    const slug = slugify(msg.params.arguments.title)
    send({ jsonrpc: '2.0', id: msg.id, result: { content: [{ type: 'text', text: slug }] } })
  }
})

Add it in Settings

Open Settings, choose MCP and select Add server. Paste this, using the full path to your file:

{
  "mcpServers": {
    "slug-server": {
      "command": "node",
      "args": ["/full/path/to/tools/slug-server.mjs"]
    }
  }
}

The server appears in the list as Slug-Server with the status Needs approval. Choose Review.

Approve it

Desktop shows what would run before anything starts:

Run slug-server?
Nothing has started yet. Adding this server runs a program on your computer with the same
permissions as you. Its tool list cannot be read without starting it, so you are asked again
afterwards about what it may do.

command  node
args     /full/path/to/tools/slug-server.mjs
cwd      (your home folder)
env      (none)

Choose Run it and show me its tools. A second dialog, Run this connector?, shows the same command. Choose Run it.

Desktop then starts the server, reads its tools and asks What may slug-server do?. It offers None, Safe only and All, with a checkbox for each tool. It shows slugify labelled writes, because each server labels its own tools. Tick the tool, or choose All, and choose the Enable button. The server's status becomes Connected.

Call the tool

Start a new chat and send:

Use the slugify MCP tool on: Hello MCP World. Tell me the exact tool name you called, or say plainly that no such tool is available to you.
I called the slugify tool on the slug-server MCP server.
Result: hello-mcp-world
It took a single argument, {"title": "Hello MCP World"}.

Troubleshooting

Freebuff says no such tool is available. The server is not registered in Settings. Check Settings, then MCP.

Config files in the project. Desktop reads servers from Settings, so add the server there.

The server will not start. Use full paths in the configuration. Desktop starts servers from your home folder.


Tested in Freebuff Desktop 0.0.184 on 2026-10-30.

Related Articles