Frequently Asked Questions¶
Common questions and answers about the LinkDing MCP Server.
General Questions¶
What is the LinkDing MCP Server?¶
The LinkDing MCP Server is a Model Context Protocol (MCP) server that enables LLMs like Claude to interact with your LinkDing bookmark manager. It provides tools for searching, adding, updating, and organizing bookmarks through natural language conversations.
What is LinkDing?¶
LinkDing is a self-hosted bookmark manager that provides a clean web interface and REST API for managing your bookmarks. It's privacy-focused and runs on your own infrastructure.
What is MCP?¶
The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. It enables communication between LLMs and external tools, databases, and services.
Do I need to run LinkDing locally?¶
No, the LinkDing MCP Server can connect to any LinkDing instance that's accessible over HTTP/HTTPS, whether it's running locally, on your network, or hosted remotely.
Installation and Setup¶
What Python version do I need?¶
Python 3.12 or higher is required. The server uses modern Python features and type hints that require this minimum version.
Can I use this with other bookmark managers?¶
No, this server is specifically designed for LinkDing's API. However, the architecture could be adapted for other bookmark managers with similar APIs.
Do I need Docker to run this?¶
No, Docker is not required. The server runs as a standard Python application. However, you can use Docker if you prefer containerized deployments.
How do I get a LinkDing API token?¶
- Open your LinkDing web interface
- Go to Settings (usually in the user menu)
- Find the API or Integrations section
- Copy the API Token
- Add it to your
.envfile asLINKDING_API_TOKEN
Usage and Features¶
What can I do with this server?¶
The server provides two modes of operation:
Read-Only Mode (Default - Secure): - Search your bookmarks by text, tags, or status - Retrieve bookmark details - List and browse tags - Check if URLs are already bookmarked - Filter bookmarks by specific tags
Full Access Mode (Requires explicit enable): - All read-only features above, plus: - Add new bookmarks with automatic metadata scraping - Update existing bookmarks (title, description, notes, tags) - Delete bookmarks - Archive and unarchive bookmarks
To enable full access, set LINKDING_ENABLE_DESTRUCTIVE_ACTIONS=true in your environment.
Can I use this with Claude Desktop?¶
Yes! Claude Desktop is the primary integration target. See the Claude Desktop Integration guide for setup instructions.
Can I use this with other AI assistants?¶
Yes, any application that supports the Model Context Protocol can use this server. This includes Continue.dev, Cursor, Zed Editor, and custom applications.
How do I prevent duplicate bookmarks?¶
Use the check_url tool before adding bookmarks:
result = check_url(url="https://example.com")
if not result['is_bookmarked']:
add_bookmark(url="https://example.com")
Can I bulk import bookmarks?¶
Yes, you can write scripts that use the MCP tools to bulk import bookmarks. The check_url tool helps prevent duplicates during bulk operations.
How do I organize bookmarks with tags?¶
Use consistent tagging strategies:
- Hierarchical: lang-python, framework-django
- Multi-dimensional: python, tutorial, beginner
- Project-based: project-alpha, documentation
See the Tag Management guide for detailed strategies.
Performance and Limits¶
How many bookmarks can I search?¶
There's no hard limit, but for performance reasons: - Default search limit is 100 results - Use pagination for larger datasets - Consider using more specific search terms - Filter by tags to narrow results
Is there rate limiting?¶
The server respects LinkDing's built-in rate limiting. For high-volume usage, consider: - Using reasonable request limits - Implementing client-side delays - Batching operations when possible
Can I cache results?¶
The server doesn't implement caching, but you can: - Cache tag lists (they change infrequently) - Implement client-side caching for repeated searches - Use LinkDing's built-in caching mechanisms
Security and Privacy¶
Why can't I add or modify bookmarks?¶
By default, the LinkDing MCP Server operates in read-only mode for security. This prevents accidental or unauthorized modifications to your bookmark collection.
To enable bookmark modifications:
-
Set the environment variable:
-
Or add to your
.envfile: -
Restart the MCP server
This security feature ensures that MCP clients can only read your bookmarks unless you explicitly grant write permissions.
Is my data secure?¶
Yes, the server: - Never logs API tokens - Connects directly to your LinkDing instance - Doesn't store or cache bookmark data - Uses secure HTTPS connections (when configured)
Should I use HTTPS?¶
Yes, especially for remote LinkDing instances:
- Use HTTPS URLs in LINKDING_URL
- Ensure your LinkDing instance has valid SSL certificates
- Consider VPN for internal network access
How do I rotate API tokens?¶
- Generate a new token in LinkDing Settings
- Update your
.envfile with the new token - Restart the MCP server
- Update any client configurations (like Claude Desktop)
- Test connectivity
Can I limit what the server can do?¶
The server has the same permissions as your LinkDing API token. LinkDing doesn't currently support scoped tokens, so the server has full access to your bookmarks.
Troubleshooting¶
The server won't start¶
Common causes and solutions:
- Missing API token: Check your
.envfile - Python version: Ensure Python 3.12+
- Missing dependencies: Run
pip install -r requirements.txt - Permission issues: Make the script executable with
chmod +x linkding_server.py
I get "Connection refused" errors¶
This usually means:
- LinkDing isn't running: Check if your LinkDing instance is accessible
- Wrong URL: Verify
LINKDING_URLin your.envfile - Network issues: Test connectivity with
curl - Firewall: Ensure the port is accessible
Claude Desktop doesn't see the server¶
Check:
- Configuration file location: Ensure it's in the right place for your OS
- JSON syntax: Validate your configuration file
- Absolute paths: Use full paths in the configuration
- Restart: Completely quit and restart Claude Desktop
I get "Unauthorized" errors¶
This means:
- Invalid token: Generate a new API token in LinkDing
- Expired token: Some LinkDing configurations may expire tokens
- Wrong format: Ensure the token is correctly formatted in your
.envfile
Development and Customization¶
Can I modify the server?¶
Yes! The server is open source. See the Development Guide for information about: - Code structure - Adding new tools - Testing - Contributing back to the project
Can I add custom tools?¶
Yes, you can extend the server with additional tools. The FastMCP framework makes it easy to add new functionality.
How do I report bugs?¶
- Check the Troubleshooting guide first
- Run the health check script to gather diagnostic information
- Create an issue on GitHub with:
- Steps to reproduce
- Error messages
- Environment information
- Configuration (with tokens redacted)
Can I contribute to the project?¶
Absolutely! Contributions are welcome: - Bug fixes - New features - Documentation improvements - Testing - Examples and tutorials
See the Contributing Guide for details.
Integration Specific¶
How do I use this with VS Code?¶
Use the Continue.dev extension with MCP support. See the Other MCP Clients guide for configuration details.
Can I use this in web applications?¶
Yes, run the server with HTTP transport:
Then make HTTP requests to the server endpoints.
How do I integrate with custom applications?¶
You can: - Use the MCP SDK for your language - Make HTTP requests to the server (with HTTP transport) - Run the server as a subprocess - Use the FastMCP CLI for scripting
Comparison with Alternatives¶
How does this compare to browser bookmarks?¶
Advantages: - Centralized: Access from any device/application - AI Integration: Natural language search and organization - Rich metadata: Notes, descriptions, tags - API access: Programmatic management - Self-hosted: Full control over your data
How does this compare to cloud bookmark services?¶
Advantages: - Privacy: Your data stays on your infrastructure - Customization: Full control over features and data - No vendor lock-in: Open source and self-hosted - AI integration: Direct LLM access to your bookmarks
Why not just use LinkDing directly?¶
The MCP server adds: - AI integration: Natural language bookmark management - Conversational interface: Manage bookmarks through chat - Automated workflows: Let AI help organize and discover content - Cross-application access: Use bookmarks in various tools
Future Plans¶
What features are planned?¶
Potential future features: - Bookmark collections: Group related bookmarks - Smart tagging: AI-powered tag suggestions - Content analysis: Extract and index bookmark content - Sync capabilities: Multi-instance synchronization - Advanced search: Full-text search within bookmark content
Will this work with LinkDing v2?¶
The server will be updated to support new LinkDing versions as they're released. The API is generally stable, so most features should continue working.
Can I request features?¶
Yes! Feature requests are welcome: 1. Check existing GitHub issues first 2. Create a new issue with: - Clear description of the feature - Use cases and benefits - Implementation suggestions (if any)
Getting Help¶
Where can I get support?¶
- Documentation: Start with this documentation
- GitHub Issues: For bugs and feature requests
- Health Check: Run the diagnostic script first
- Community: LinkDing and MCP community forums
What information should I provide when asking for help?¶
Include: - Python version and OS - LinkDing version - Error messages (full output) - Configuration (with tokens redacted) - Steps to reproduce the issue - Health check results
How do I stay updated?¶
- Watch the GitHub repository for updates
- Check the changelog for new releases
- Follow LinkDing updates for compatibility information
- Monitor MCP protocol changes for new features
Best Practices¶
How should I organize my bookmarks?¶
Recommended strategies: - Consistent tagging: Use standardized tag formats - Hierarchical organization: Create tag hierarchies - Regular maintenance: Clean up and reorganize periodically - Descriptive titles: Use clear, searchable titles - Rich notes: Add context and insights
How often should I backup my data?¶
- LinkDing data: Follow LinkDing's backup recommendations
- Configuration: Backup your
.envand client configurations - Regular exports: Consider periodic bookmark exports
- Test restores: Verify your backups work
What's the best way to learn the tools?¶
- Start simple: Begin with basic search and add operations
- Use Claude Desktop: Interactive learning through conversation
- Read examples: Check the documentation examples
- Experiment: Try different search patterns and workflows
- Build workflows: Create repeatable bookmark management processes
Don't see your question here? Check the Troubleshooting guide or create an issue on GitHub.