Skip to main content
Glama
Piccolo123

url-manager-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FOOTPRINTS_TOKENNoYour URL Manager token. If not provided, a new account will be created via agent_register().

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
agent_register

Create a new URL Manager account for the user. No parameters, no token needed.

Each call creates a brand new account and auto-memorizes the returned token. ⚠️ NEVER call this more than once! If the user already has an account but forgot to share their token, you'll create a second empty account. Always ask "Do you have a URL Manager account?" before calling.

my_info

Call this at the start of every conversation to confirm the token is valid and the connection works. Returns username and membership status. Also useful when the user asks "Who am I?"

search_footprints

Full-text search across titles, descriptions, and URLs. Use when the user says "find that article about..."

Args:
    query: Search keywords
    limit: Results per page (max 100)
    offset: Pagination offset
list_footprints

List bookmarks. category_id=0 means all categories. Use when the user says "show me my bookmarks" or "what have I saved?"

Args:
    category_id: Category ID (0=all, get IDs from list_categories)
    limit: Results per page (max 100)
    offset: Pagination offset
get_footprint

Get full details of a single bookmark.

Args:
    footprint_id: Bookmark ID (from list_footprints or search results, field "id")
add_footprint

Add a new bookmark. Use when the user says "save/bookmark this link".

Call list_categories() and list_tags() FIRST to discover existing categories
and tags — avoid creating duplicates. If title is empty, it will be auto-extracted.

Args:
    url: Web page URL (required)
    title: Custom title (leave empty for auto-extraction)
    description: Summary/notes
    category_ids: Comma-separated category IDs, e.g. "1,3"
    tag_names: Comma-separated tag names, e.g. "AI,tutorial"
update_footprint

Update a bookmark. Use when the user says "change the title/move to another category".

⚠️ category_ids REPLACES the entire category list — NOT append!
Correct approach: get_footprint(id) to see current categories → merge in new IDs → send the full list.
Example: existing [3,5], want to add 7 → category_ids="3,5,7" (NOT just "7")

Args:
    footprint_id: Bookmark ID (from search or list results)
    title/description/category_ids/tag_names: Leave empty to keep unchanged
list_categories

List all categories (personal + shared). ALWAYS call this before operating on bookmarks.

Returns each category with id, name, and mode fields.
mode=null → personal category. mode="cocreate"/"subscribe" → shared category.
Use the 'id' field in add_footprint / update_footprint category_ids parameter.
create_categoryA

Create a new category. Call list_categories() first to avoid duplicates.

Args:
    name: Category name
    category_set_id: Parent category set (0=default)
list_tagsA

List all tags used by this user.

list_category_setsB

List all category sets. Rarely needed.

create_category_setB

Create a new category set (a container of categories).

Args:
    name: Category set name
create_shared_categoryA

Create a shared category. "cocreate" = multiple editors, "subscribe" = read-only.

⚠️ In subscribe mode, NO ONE (including the creator) can add bookmarks —
add_to_shared_category returns 403. Use mode="cocreate" if collaboration is needed.
join_shared_categoryA

Join a shared category by invite code.

Args:
    invite_code: 8-character invite code
create_invite_linkB

Generate an invite link to share with others.

Args:
    shared_category_id: Shared category ID (from list_categories — pick ones where mode is not null)
    duration_hours: Link validity in hours
add_to_shared_categoryA

Add one of your existing bookmarks to a shared category. The bookmark must be yours.

Args:
    shared_category_id: Shared category ID
    footprint_id: Bookmark ID
remove_from_shared_category

Remove a bookmark from a shared category (does not delete the bookmark itself).

Args:
    shared_category_id: Shared category ID
    footprint_id: Bookmark ID
copy_footprintC

Copy a bookmark from a shared category into your own personal category.

Args:
    footprint_id: Bookmark ID to copy
    category_ids: Target category IDs, comma-separated, e.g. "1,3"
batch_update_footprintsA

Batch update bookmarks — max 50 at a time. For bulk reorganization.

Args:
    updates: JSON string, format '[{"id":"uuid","title":"New Title","category_ids":"1,3"}, ...]'
             Each object may contain title/description/category_ids/tag_names; "id" is required
agent_magic_linkA

Generate a magic link to send to the user. This is the Agent-first delivery loop core.

After the Agent organizes the user's bookmarks, call this to generate a link.
Send it to the user: "Done organizing — view here → [link]"
User clicks to see a card-based interface. Link valid for 30 days, reusable.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/Piccolo123/url-manager-mcp'

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