Skip to main content
Glama
jrlprost

filoo MCP server

by jrlprost

@filooapp/mcp-server

npm version license

The official MCP server for filoo.app — an AI agent URL shortener with built-in click tracking. Plug this into Claude Desktop, Cursor, or any other Model Context Protocol client and your agent can shorten URLs, manage links, and read scan analytics through 8 first-class tools.

If you are looking for an "MCP server URL shortener", a "Claude URL shortener tool", a "Cursor link shortener", or a way to give an AI agent its own short link namespace, this is it.

What is filoo

filoo is an API-first URL shortener built for both humans and agents. Each link lives under a username (filoo.app/{username}/{slug}), comes with a QR code, and tracks clicks with country, device, referrer, and source breakdowns. The agents tier gives you 50,000 active links, 5,000 new links per day, unlimited usernames, and a 1,000 requests/minute API rate limit — designed so a fleet of agents can hammer the API without throttling.

Docs and pricing: https://filoo.app/api

Related MCP server: DWZ Short URL MCP Server

Installation

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "filoo": {
      "command": "npx",
      "args": ["-y", "@filooapp/mcp-server"],
      "env": {
        "FILOO_API_KEY": "flo_live_xxxxxxxxxxxx"
      }
    }
  }
}

Restart Claude Desktop. Your agent now has the 8 filoo tools.

Cursor

In Cursor settings → MCP, add a new server:

{
  "filoo": {
    "command": "npx",
    "args": ["-y", "@filooapp/mcp-server"],
    "env": { "FILOO_API_KEY": "flo_live_xxxxxxxxxxxx" }
  }
}

Generic MCP client (stdio)

FILOO_API_KEY=flo_live_xxxxxxxxxxxx npx -y @filooapp/mcp-server

The process speaks JSON-RPC over stdio per the MCP spec.

Local install

npm install -g @filooapp/mcp-server
FILOO_API_KEY=flo_live_xxxxxxxxxxxx mcp-server-filoo

Configuration

Env var

Required

Description

FILOO_API_KEY

yes

Your filoo API key, starts with flo_live_. Get one at https://filoo.app/dashboard/api (pro, agents, or lifetime tier).

FILOO_API_BASE

no

Override the API base URL. Defaults to https://filoo.app/api/v1.

The 8 tools

Each tool maps 1:1 to a filoo REST endpoint. The descriptions below are what the LLM reads when deciding which tool to call.

filoo_me

Get the authenticated user's account: tier, usernames, boost credits, and limits.

Example prompt: "What's my filoo plan and how many links can I still create?"

filoo_usage

Today's usage vs. quotas: links created today, API calls today, active link count vs. cap.

Example prompt: "How close am I to my filoo daily limit?"

filoo_list_usernames

List every username you own and which one is primary.

Example prompt: "List all my filoo usernames."

Create a new short link. Args: destination (required), slug?, username?, label?.

Example prompt: "Shorten https://example.com/very-long-launch-page under my 'agency' username with slug 'q4-launch'."

Cursor-paginated list of your links, newest first. Args: limit? (max 100), cursor?.

Example prompt: "Show me my last 20 filoo links."

Fetch one link by code. Args: code (form username:slug).

Example prompt: "What does filoo link agency:q4-launch point to?"

Repoint or rename a link without changing its short URL. Args: code, destination?, label?, active?.

Example prompt: "Point filoo link agency:q4-launch to the new landing page at https://example.com/launched."

Permanently delete a short link. Args: code.

Example prompt: "Delete the filoo link agency:old-promo."

Click totals, uniques, bots, top countries, and top sources for a link. Args: code.

Example prompt: "How is filoo link agency:q4-launch performing? Show top countries and sources."

Getting an API key

  1. Sign up at https://filoo.app

  2. Upgrade to the agents tier (50,000 links, 5,000/day, 1,000 req/min) — it's purpose-built for AI agent workloads. The pro and lifetime tiers also expose the API.

  3. Go to https://filoo.app/dashboard/api and create a key. It starts with flo_live_.

  4. Paste it into your MCP client config under FILOO_API_KEY.

Full API reference: https://filoo.app/api

Development

git clone https://github.com/filooapp/mcp-server
cd mcp-server
npm install
npm run build
FILOO_API_KEY=flo_live_xxx node dist/index.js

License

MIT © 2026 filoo

Available Tools

9 tools
filoo_list_usernamesA

List every username the authenticated user owns on filoo, along with which one is primary. Short links live under a username (filoo.app/{username}/{slug}), so this is the canonical way for an agent to discover what namespaces it can publish into.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the purpose and output (list of usernames with primary flag) and adds context about the naming scheme (filoo.app/{username}/{slug}). Since there are no annotations, the description carries the full burden. The tool has no side effects and is a simple read operation, so the description is sufficiently transparent for its simplicity, though it could explicitly mention that it is read-only and requires authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first describes the core functionality concisely, and the second adds valuable context about the naming convention and purpose. Every sentence is meaningful and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, no output schema, and a simple list operation, the description is complete. It tells what is returned (usernames + primary flag) and why an agent would use it (to discover namespaces for publishing). No additional information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema is fully covered (100%). The description does not need to explain parameters. The baseline for 0 parameters is 4, and the description adds no extra parameter info, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List every username the authenticated user owns on filoo, along with which one is primary.' It explains the broader context of short links living under a username (filoo.app/{username}/{slug}) and that this is the canonical way to discover namespaces for publishing. This distinguishes it from sibling tools like filoo_list_links which list links, not usernames.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'this is the canonical way for an agent to discover what namespaces it can publish into,' which indicates when to use the tool (before creating a link). It doesn't specify when not to use it or provide explicit alternatives, but the context is clear enough for an AI agent to infer its appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

filoo_meA

Get the authenticated filoo user's account: tier (free/solo/pro/agents/lifetime), owned usernames, boost credits, and tier limits (active links cap, links-per-day quota, API rate limit). Call this first when an agent needs to know what username to publish under or how much headroom is left.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the returned fields (tier, usernames, credits, limits) and implies read-only behavior ('Get'). Doesn't mention authentication requirements explicitly, but 'authenticated' in the description implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. First lists returned data, second provides use case context. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description enumerates the main fields returned. It also explains when to use it. Could mention output format or error cases, but considering the tool's simplicity, it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so baseline is 4. The description correctly indicates no input is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the authenticated user's account info, listing specific contents (tier, usernames, credits, limits). It distinguishes from sibling tools by focusing on account-level details and recommending it as the first call for user context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to call this tool: 'when an agent needs to know what username to publish under or how much headroom is left.' Doesn't explicitly list alternatives but implies it's for account info, distinct from sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

filoo_usageA

Get today's filoo usage versus quotas: links created today, daily creation cap, API calls today, active link count, active link cap, remaining boost credits. Use before bulk-creating links to avoid hitting limits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, but description details the returned values and implies a read-only operation. No hidden destructive effects or authentication requirements mentioned, acceptable for a simple usage query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; first states purpose, second gives usage guidance. Concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no parameters, no output schema, no annotations. Description fully covers what the tool returns and when to use it, making it complete for a simple usage check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so schema coverage is 100%. Description adds value by explaining the output metrics, which is more than baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves today's usage versus quotas, listing specific metrics. It distinguishes from sibling tools which focus on individual links or user info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use before bulk-creating links to avoid hitting limits,' providing clear context and when to use. Lacks explicit exclusions but sufficient for the tool's simplicity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 9 tool updatesv0.2.0
    • First observedfiloo_create_link
    • First observedfiloo_delete_link
    • First observedfiloo_get_link
    • First observedfiloo_link_stats
    • First observedfiloo_list_links
    • First observedfiloo_list_usernames
    • First observedfiloo_me
    • First observedfiloo_update_link
    • First observedfiloo_usage

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: account info, usage, username listing, link CRUD, and analytics. No overlap in functionality, making tool selection unambiguous.

Naming Consistency5/5

All tool names follow a consistent 'filoo_verb_noun' pattern (e.g., filoo_get_link, filoo_list_links). The naming is predictable and uniform.

Tool Count5/5

9 tools are well-scoped for a URL shortener service, covering user management, link lifecycle, and analytics without being too many or too few.

Completeness4/5

The tool set covers CRUD for links, account info, usage quotas, username listing, and analytics. A minor gap is the lack of a direct filter/search on list_links, requiring pagination to find by destination, but overall it's complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to create, manage, and analyze short URLs through complete URL shortening functionality. Supports batch operations, custom domains, click statistics, and comprehensive link management.
    6
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to the Clypt Link Intelligence platform to shorten URLs, manage tags, and generate QR codes. It enables users to view link analytics and perform bulk link operations through natural language commands.
    55
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that enables AI agents to manage Lnkify links, domains, API keys, and analytics. Allows creation and resolution of short links through natural language.
    MIT