Skip to main content
Glama
zenkeellc

enke

Official
by zenkeellc

enke MCP Server

Model Context Protocol server for en.ke — secure link tools for AI agents.

Exposes en.ke link management as MCP tools. Two transport modes: local stdio (Claude Desktop, Cursor) and remote SSE (HTTP).

Quick Start

Local (Claude Desktop)

{
  "mcpServers": {
    "enke": {
      "command": "npx",
      "args": ["-y", "enke-mcp-server"]
    }
  }
}

Requires enke login first (shared auth with enke CLI).

Remote (SSE)

ENKE_API_KEY=xxx npx enke-mcp-server
# SSE endpoint: http://localhost:3100/sse

Related MCP server: @linklee/mcp-server

Tools

Tool

Description

shorten_url

Create a short link from a URL

list_links

List all short links

get_link_stats

Click analytics (daily, referrers, geo, devices)

delete_link

Revoke a short link

update_link

Modify slug, password, expiration, webhook

create_landing

Create a landing page with multiple links

Auth

  • Local mode: Reads ~/.enke/config.json (created by enke login)

  • Remote mode: ENKE_API_KEY env var or Authorization: Bearer <token> header

License

MIT

Available Tools

12 tools
create_landingB

Create a landing page (link-in-bio) with multiple links. Slug is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesCustom slug for the landing page (required)
linksYesArray of {url, title} pairs
themeNoVisual theme settings
titleYesTitle of the landing page
descriptionNoDescription shown under the title

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It only says 'Create' without disclosing if the operation is idempotent, if slug must be unique, or any side effects. Lacks behavioral details.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. However, it is somewhat underspecified, earning a 4 rather than 5.

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

Completeness2/5

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

The tool has nested objects and no output schema, but the description does not explain return values, constraints on links (e.g., minimum/maximum count), or any post-creation behavior. Missing important context for a creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description only repeats that slug is required, adding no new meaning beyond the schema's parameter descriptions.

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 creates a landing page (link-in-bio) with multiple links and specifies that slug is required. It distinguishes itself from sibling tools like delete_document or get_document.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites or context where other tools might be preferred.

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

delete_documentA

Permanently delete a shared document and its file. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDocument short slug

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses irreversibility, which is critical for a destructive tool, but lacks details on authentication requirements, rate limits, or impact on associated resources (e.g., links).

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?

The description is a single, efficient sentence that conveys the core action and a critical behavioral trait without any filler or redundancy.

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?

For a simple destructive tool with one parameter and no output schema, the description is largely complete. It omits mention of side effects on related data, but given sibling tools like delete_link exist, this gap is minor.

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

Parameters3/5

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

The input schema covers 100% of parameters with a description for 'slug'. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline for full schema coverage.

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 explicitly states the action (permanently delete) and the resource (shared document and its file), with the key trait 'irreversible'. This clearly distinguishes from sibling tools like get_document or update_document.

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

Usage Guidelines3/5

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

The description implies the tool is used for permanent deletion but does not provide explicit when-to-use or when-not-to-use guidance. No alternatives or exclusions are mentioned, leaving the agent to infer context from the tool name and sibling list.

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

get_documentA

Get details of a specific shared document by slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDocument short slug

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states 'Get details' implying a read-only operation, but does not disclose error handling, authorization needs, or return structure. The simplicity of the tool partially mitigates this, but more context would help.

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?

The description is a single, concise sentence with no unnecessary words. It is front-loaded with the essential information (verb, resource, identifier).

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

Completeness3/5

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

For a simple read tool with one parameter and no output schema, the description covers the basics. However, it lacks details on what 'details' includes, error behavior, or any side effects, which are important for an automated agent. Adequate but not thorough.

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

Parameters3/5

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

Schema coverage is 100% for the single 'slug' parameter, which is described as 'Document short slug'. The description adds 'by slug' but does not provide additional semantic value beyond the schema. Baseline 3 is appropriate given high coverage.

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 action ('Get details'), the resource ('specific shared document'), and the identifier method ('by slug'). It effectively distinguishes from sibling tools like 'list_documents' (list all) and 'delete_document' (remove).

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given. The verb 'get' implies retrieval, but alternatives like 'list_documents' for multiple or 'update_document' for modifications are not mentioned. Usage is implied but not clarified.

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

list_documentsA

List all shared documents, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoItems per page
cursorNoPagination cursor

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states the ordering and scope but does not disclose pagination behavior beyond what the schema already includes, nor auth requirements, rate limits, or side effects. The description adds minimal value beyond the schema.

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?

The description is a single concise sentence that communicates the core purpose without any fluff. Every word earns its place.

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?

For a simple list tool with no output schema, the description covers the essential purpose and ordering. With 12 sibling tools, the description effectively distinguishes its function. It could optionally mention return format (array of document objects) but is otherwise complete.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters (limit, cursor) already described in the schema. The description does not add any additional meaning or usage hints for these parameters, so baseline score of 3 is appropriate.

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 verb 'list', the resource 'shared documents', and the ordering 'newest first'. This effectively distinguishes it from siblings like get_document (single document) or list_links (different resource).

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

Usage Guidelines3/5

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

The description implies usage (listing shared documents) but provides no explicit guidance on when or when not to use this tool versus alternatives such as list_links or get_document. No exclusions or context-sensitive guidance are given.

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

renew_documentC

Reset a document's expiration timer to the plan's renewal period.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDocument short slug

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only says 'Reset a document's expiration timer'. Lacks disclosure of side effects, permissions needed, or reversibility. For a mutation tool, more transparency is expected.

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?

Single sentence with no redundant information. Efficiently communicates the core action.

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

Completeness2/5

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

Tool has 1 param, no output schema. Description explains the action but fails to clarify 'plan's renewal period', prerequisites (e.g., does the document need to be expired?), error conditions, or return value. Missing critical context.

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

Parameters3/5

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

Schema covers 100% of parameters (slug described as 'Document short slug'). The description adds no extra meaning beyond the schema, achieving baseline for full coverage.

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

Purpose4/5

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

The description uses a specific verb 'Reset' and identifies the resource 'document's expiration timer', distinguishing it from sibling tools like create/delete/update document. However, 'plan's renewal period' is somewhat vague.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., update_document). No context on prerequisites or when not to use it.

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

shorten_urlA

Create a short link from a long URL. Use this to share links, pass context between agents, or create temporary revocable references.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe long URL to shorten
slugNoCustom short slug (back-half). Auto-generated if omitted.
passwordNoOptional password to protect the link
keep_daysNoKeep duration in days (default 30, plan-dependent max)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'temporary revocable references' but does not disclose important behaviors like overwriting existing slugs, uniqueness constraints, authentication requirements, or how to revoke. Significant gaps for a creation tool.

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?

Extremely concise: two sentences that front-load the purpose. Every sentence adds value with no wasted words.

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

Completeness3/5

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

Description covers creation and temporary nature but omits return value or confirmation. No output schema, so the agent does not know what to expect upon success. Adequate but not complete for a 4-parameter tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds minimal extra meaning beyond schema descriptions, e.g., 'Custom short slug (back-half).' Does not significantly enhance parameter understanding.

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?

Description clearly states 'Create a short link from a long URL' with a specific verb and resource. It distinguishes from sibling tools like list_links, delete_link, etc., as it is the only creation tool for links.

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?

Provides context for use cases: 'share links, pass context between agents, or create temporary revocable references.' However, it does not explicitly mention when not to use or provide alternatives among siblings like delete_link or update_link.

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

update_documentB

Update a shared document's settings: expiration, password, download limits, burn-after-reading.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDocument short slug
commentNoNew comment
exp_daysNoNew expiration in days (plan-dependent max)
passwordNoNew password (empty to remove)
max_downloadsNo
disable_downloadNo
burn_after_readingNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. However, it only states the action ('update') without detailing authentication requirements, effects on existing data, or error scenarios. This leaves the agent without critical safety information.

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?

The description is a single sentence that front-loads the action and resource, then lists the settings. Every word is purposeful with no redundancy or filler.

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

Completeness2/5

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

For a 7-parameter mutation tool with no output schema, the description is insufficient. It does not explain the return value, error handling, permissions, or the effect of omitting parameters. The agent lacks context for reliable usage.

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

Parameters3/5

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

Schema description coverage is 57%, and the description lists some settings (expiration, password, download limits, burn-after-reading) but omits 'comment' and 'disable_download'. It adds no new meaning beyond the parameter names, providing only a grouping of concepts.

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 verb 'Update' and the resource 'shared document's settings', and lists specific settings. This distinguishes it from sibling tools like create, delete, get, and list.

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

Usage Guidelines3/5

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

The description implies usage when one wants to modify document settings, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions.

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

upload_documentA

Upload and share a file. Returns a short URL (https://en.ke/{slug}) for secure sharing with expiration, password, watermark, and burn-after-reading.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNoOwner-facing note or label
exp_daysNoExpiration in days (plan-dependent max)
passwordNoPassword to protect the document
file_pathYesAbsolute path to the file to upload
max_downloadsNoMax downloads (0 = unlimited)
disable_downloadNoPreview only, no download button
burn_after_readingNoDelete after first download

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions the return URL and security features (expiration, password, watermark, burn-after-reading) but does not cover failure modes, permissions, file size limits, or idempotency.

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?

The description is a single sentence that is front-loaded with the main action and key output detail. Every word earns its place with no redundancy.

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

Completeness3/5

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

Given 7 parameters, no output schema, and no annotations, the description covers the basic purpose and output. However, it lacks details on return value format, error conditions, and prerequisites for usage, making it adequate but not complete.

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

Parameters3/5

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

Schema coverage is 100%, meaning all parameters are already described in the schema. The description adds slight context by linking parameters to features (e.g., 'burn-after-reading' maps to the parameter), but does not provide significant additional meaning beyond the schema.

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 'Upload and share a file' with a specific verb and resource, and highlights the unique output of a short URL with security features, distinguishing it from sibling tools like shorten_url or delete_document.

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 implies usage for uploading files with secure sharing features but lacks explicit guidance on when not to use or alternative tools. However, the sibling list shows distinct tools, so context is clear.

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. Dates show when Glama detected each change.

  1. 12 tool updatesv1.3.0
    • First observedcreate_landing
    • First observeddelete_document
    • First observeddelete_link
    • First observedget_document
    • First observedget_link_stats
    • First observedlist_documents
    • First observedlist_links
    • First observedrenew_document
    • First observedshorten_url
    • First observedupdate_document
    • First observedupdate_link
    • First observedupload_document

TDQS

A3.7/5.0
Disambiguation5/5

All tools have clearly distinct purposes, separating link management (shorten_url, list_links, get_link_stats, update_link, delete_link) from document management (upload_document, list_documents, get_document, update_document, delete_document, renew_document) and a landing page tool (create_landing). No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern in snake_case (e.g., delete_document, shorten_url, update_link). Even less common verbs like 'renew_document' fit the pattern. No mixing of styles or abbreviations.

Tool Count5/5

With 12 tools covering both link and document sharing domains, the count is well-scoped. Each tool serves a distinct operation without redundancy, making the surface manageable for agents.

Completeness4/5

The tool set provides basic CRUD for both links and documents, plus stats and expiration management. However, there is no tool to retrieve a single link’s metadata (only stats), and landing pages only have creation without read/update/delete, leaving minor gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

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
    C
    maintenance
    MCP server for managing Youfiliate Smart Links from AI assistants like Claude Desktop, enabling creation of geo-targeted affiliate links, analytics, and YouTube description migrations.
    18
    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
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for LimeLink dynamic link management, enabling creation, lookup, and management of dynamic links with documentation resources and prompt templates.
    3
    97
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zenkeellc/enke-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server