Linko MCP - Access your Linko study notes and resources through LLMs
Project description
Linko MCP
A Model Context Protocol (MCP) extension that allows LLMs (Large Language Models) to access Linko (https://www.linko.study) study notes and resources. It's designed to be used with uvx for a seamless, installation-free experience.
Features
- Search and retrieve notes from Linko
- Find learning resources by title, author, or subject
- Get information about your knowledge distribution across subjects
- AI-specific tools for AI assistants to create and manage their own notes
- Built-in rate limiting to prevent API overload
- Secure credential handling with environment variables
Available MCP Tools
Linko MCP provides two distinct sets of tools:
Tools for Humans
These tools provide access to the user's own learning materials:
-
get_notes: Retrieve and search through user's notes with filtering options- Search notes using keywords (with semantic embedding for relevance)
- Filter notes by subject/topic
- Filter notes by resource (book, article, video, etc.)
- Filter notes by time period
-
get_resources: Find books, articles, and other learning resources- Search resources by title or author using keywords
- Filter resources by subject/topic
- Filter resources by type (books, videos, articles, podcasts)
- Filter resources by completion status
-
get_subjects: Browse knowledge areas and subjects- View distribution of user's notes and resources across subjects
- Get details about a specific subject including notes count and resources count
- Discover which subjects user has the most content in
Tools for AI Assistants
These tools allow the AI to manage its own notes for cognitive continuity (requires a separate Linko account):
-
get_notes_for_AI: Retrieve the AI's own notes- Semantically search AI's notes
- Filter by subject or time period
- Browse recent notes
-
create_note_for_AI: Create a new note in the AI's account- Store information for future reference
- Build knowledge continuity between sessions
-
update_note_for_AI: Modify an existing note- Update previously stored information
- Refine understanding as new information is acquired
-
delete_note_for_AI: Remove a previously created note- Clean up outdated or incorrect information
Prerequisites
- A Linko account for yourself - Sign up at www.linko.study if you don't have one
- A separate Linko account for your AI assistant (recommended for AI-specific features)
- uv Python package manager (for uvx command)
Installation
The package is designed to be used with uvx and doesn't need to be installed directly. Simply configure your LLM to use the MCP server with uvx as shown in the setup section below.
If you still want to install the package for development or other purposes:
From PyPI
pip install linko-mcp
Setup with Claude Desktop, Cursor or Other MCP-Compatible Host
{
"mcpServers": {
"linko": {
"command": "uvx",
"args": ["--from", "linko-mcp", "mcp-server-linko"],
"env": {
"LINKO_USERNAME": "your_personal_linko_email@example.com",
"LINKO_PASSWORD": "your_personal_linko_password"
}
},
"linko_for_AI": {
"command": "uvx",
"args": ["--from", "linko-mcp", "mcp-server-linko-for-ai"],
"env": {
"LINKO_AI_USERNAME": "your_ai_linko_email@example.com",
"LINKO_AI_PASSWORD": "your_ai_linko_password"
}
}
}
}
You can also define the environment variables in your local environment without setting it in the json.
- Restart your LLM application
Usage Examples
For Human Tools
You can ask your LLM to:
- "Find my notes about machine learning"
- "Show me my resources for psychology"
- "What subjects do I have notes on?"
- "Get my most recent notes"
- "Find books about quantum computing"
- "Show my completed resources"
For AI Tools
These require the AI to have its own Linko account:
- AI can create notes about your project or conversation: "I'll make a note about this design pattern for future reference"
- AI can retrieve its previous knowledge: "Let me check my notes about your project"
- AI can update its understanding: "I'll update my notes about your preferences"
Human vs. AI Accounts: Important Distinction
Linko MCP uses two separate services:
-
Human Account (
mcp-server-linko):- Provides AI assistants READ-ONLY access to YOUR notes and resources
- Uses YOUR Linko credentials
- AI cannot modify your notes or resources
-
AI Account (
mcp-server-linko-for-ai):- Provides AI assistants READ/WRITE access to THEIR OWN notes
- Uses a SEPARATE Linko account created specifically for the AI
- Allows AI to maintain cognitive continuity between sessions
- Keeps AI's notes separate from your personal study materials
We strongly recommend using separate accounts to maintain a clear separation between your notes and the AI's notes.
AI-specific Features
The mcp-server-linko-for-ai server enables AI assistants to:
- Create their own notes in a dedicated Linko account
- Update or delete their notes
- Retrieve their own notes for continuity between sessions and cognitive growth
Note-taking Best Practices for AI
AI assistants should focus on capturing:
- High-level concepts and architectural patterns
- User preferences for coding style and project organization
- Project requirements and business logic
- Conceptual challenges and reasoning behind solutions
- Evolving understanding of the project
Security Notes
Environment Variables for Credentials
For improved security, we recommend using environment variables for your Linko credentials:
- Set environment variables in your system or session as shown in the setup section
- Use the configuration with environment variables (no need to specify them again in the JSON)
- Ensure your environment variables are set before starting your LLM application
Technical Details
Rate Limiting
The Linko MCP includes built-in rate limiting to prevent excessive API calls to the Linko service. By default, the rate limiter is configured to allow:
- 2 requests per second
- Maximum burst of 10 requests
The rate limiter implements a token bucket algorithm that works with both synchronous and asynchronous code.
Authentication
The MCP handles authentication in the following order:
- Look for stored tokens in
~/.linko/auth.json(or~/.linko/auth_ai.jsonfor AI) - Attempt to refresh expired tokens
- Fall back to environment variables for credentials
- Fall back to command line arguments
Troubleshooting
If you encounter issues:
- Enable verbose logging with the
--verboseflag:
linko-mcp --verbose
- Check the log files in the
logsdirectory of the package
License
MIT
Contact
For questions or support, please contact linko.assistant@gmail.com or open an issue on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linko_mcp-0.2.0.tar.gz.
File metadata
- Download URL: linko_mcp-0.2.0.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a0318168b328d6ee1a7fd1d5822b1f4b953589890bbf89c1b8ebd2eed4d4081
|
|
| MD5 |
aeb80a93b324781e06fd355a44cd53ea
|
|
| BLAKE2b-256 |
6ce29095d9f70aeb758302b341fa80bdd2182846ff5af2cac60c37d4e440ea0e
|
File details
Details for the file linko_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: linko_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
909a1044917868e0aee9170292a259b1b60f90bc6677953e58af1fc73da347eb
|
|
| MD5 |
61fe374c04ec0c6dd4d3bf92f26960b1
|
|
| BLAKE2b-256 |
3fb8ab0d79afb1712123418a5c44d7be35290b679f9e396392e9b4fc44d7cb5a
|