Yonote MCP Server
Yonote MCP 서버 프로토타입
이는 Notion의 대안인 Yonote 서비스를 위한 MCP 서버의 MVP 프로젝트입니다. 이 서버는 Yonote 문서 및 컬렉션과 상호 작용할 수 있는 API 도구를 제공합니다.
특징
Yonote의 문서 및 컬렉션 목록
문서에 대한 자세한 정보를 얻으세요
FastMCP 프레임워크를 통해 도구를 노출합니다.
Related MCP server: SiYuan MCP Server
요구 사항
파이썬 3.13+
다음은 Python 패키지입니다(
pyproject.toml참조):fast-agent-mcp>=0.2.23requests>=2.32.3python-dotenv(환경 변수 로딩용)
종속성 관리를 위한 uv
설정
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 Yonote Document Interaction Server를 자동으로 설치하려면:
지엑스피1
수동 설치
저장소를 복제합니다.
git clone <your-repo-url> cd yonote-mcpuv를 사용하여 종속성을 설치합니다.
uv pip install -r requirements.txt # or, using pyproject.toml: uv pip install .환경 변수 구성:
프로젝트 루트에 다음 내용으로
.env파일을 만듭니다.API_TOKEN=your_yonote_api_token API_BASE_URL=https://app.yonote.ru/api # Optional, defaults to this value
용법
MCP 서버를 실행합니다.
python main.py서버는 다음 도구를 제공합니다.
documents_list: 문서 목록을 가져옵니다(선택적으로 limit, offset, collectionId 사용)documents_info: ID로 문서에 대한 정보를 가져옵니다.collections_list: 컬렉션 목록을 가져옵니다(선택적으로 limit 및 offset 사용)
프로젝트 구조
main.py— 메인 서버 코드 및 도구 정의pyproject.toml— 프로젝트 메타데이터 및 종속성
특허
MIT(또는 라이센스를 명시하세요)
커서 구성 예
이 MCP 서버를 Cursor와 함께 사용하려면 ~/.cursor/mcp.json 구성 파일에 다음을 추가하세요.
{
"mcpServers": {
"yonote": {
"command": "uv",
"args": [
"run",
"-v",
"--directory",
"/path/to/yonote-mcp",
"/path/to/yonote-mcp/main.py"
]
}
}
}/path/to/yonote-mcp 프로젝트 디렉토리의 실제 경로로 바꾸세요.

Available Tools
3 toolscollections_listC
Get list of collections
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Get list' implies a read operation, but it doesn't disclose behavioral traits like whether it's paginated, requires authentication, has rate limits, or what happens with the limit/offset parameters. The description adds minimal value beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, 'Get list of collections', which is front-loaded and wastes no words. It efficiently states the core action without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return format, pagination behavior, or parameter usage, making it inadequate for an agent to use the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions no parameters, failing to explain the meaning or usage of 'limit' and 'offset' (e.g., pagination details). This leaves significant gaps in understanding how to invoke the tool effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get list of collections' states the basic purpose (verb+resource) but is vague about scope and differentiation. It doesn't specify whether this returns all collections, user collections, or some subset, nor does it distinguish from sibling tools like 'documents_list' which might handle similar listing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, context for usage, or comparison with sibling tools like 'documents_list' or 'documents_info', leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
documents_infoC
Get info about a document by id
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get info' implies a read-only operation, it doesn't specify whether authentication is required, rate limits apply, what information is returned, or how errors are handled. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise at just 6 words, front-loading the essential information with zero wasted words. Every element ('Get info', 'about a document', 'by id') earns its place in this minimal formulation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, 0% schema description coverage, and no output schema, the description is insufficiently complete. A read operation tool needs more context about what information is returned, error handling, and usage constraints to be fully usable by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It mentions 'by id' which clarifies the purpose of the single parameter, but doesn't explain what format the ID should be (numeric, UUID, etc.), where to obtain it, or validation rules. This provides minimal value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get info') and target resource ('about a document by id'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'documents_list' (which presumably lists multiple documents rather than retrieving a single one), preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'documents_list' or 'collections_list'. It doesn't specify prerequisites, error conditions, or typical use cases, leaving the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
documents_listC
Get list of documents
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| collectionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Get list' implies a read operation, but it doesn't disclose important traits like whether this requires authentication, has rate limits, returns paginated results, or what happens with the parameters. The description adds minimal value beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words. It's front-loaded with the core purpose and contains zero wasted words. While under-specified, it's structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, how parameters work, or behavioral characteristics. The agent would struggle to use this tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate but doesn't mention any parameters. Three parameters (limit, offset, collectionId) are completely undocumented in both schema and description. The description provides no information about what these parameters do or how they affect the document listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get list of documents' clearly states the verb ('Get') and resource ('documents'), but it's vague about scope and doesn't differentiate from sibling tools like 'collections_list' or 'documents_info'. It doesn't specify whether this lists all documents, recent documents, or documents with particular characteristics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'collections_list' or 'documents_info'. There's no mention of prerequisites, appropriate contexts, or exclusions. The agent must infer usage from the tool name alone.
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.
3 tool updates
- First observed
collections_list - First observed
documents_info - First observed
documents_list
TDQS
Each tool has a clearly distinct purpose: collections_list retrieves collections, documents_info gets details of a specific document, and documents_list lists documents. There is no overlap in functionality, making it easy for an agent to select the right tool without confusion.
All tool names follow a consistent verb_noun pattern with snake_case: collections_list, documents_info, and documents_list. The naming is predictable and readable throughout, with no deviations or mixed conventions.
With only 3 tools, the server feels thin for a note-taking domain, as it lacks essential operations like creating, updating, or deleting collections or documents. While the tools are well-scoped individually, the count is borderline low for covering basic CRUD workflows.
The tool surface is significantly incomplete for a note-taking server. It only provides read operations (list and get info) for collections and documents, with no ability to create, update, or delete resources. This will likely cause agent failures when trying to perform common tasks like adding or modifying notes.
Maintenance
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
- CraftOAuthdo.craft.mcp
Access and edit your Craft documents.
Share HTML/Markdown documents via URL instantly. Create, edit, delete docs from any AI tool.
Notes, kanban tasks, and a capture inbox: read and create Flow data with a personal token.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables interaction with Yuque (语雀) knowledge base platform through their API. Supports document management, search, and repository operations including creating, reading, updating, and deleting documents in multiple formats.9523MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with SiYuan Note through its API for comprehensive note management. Supports searching, creating, editing documents, managing notebooks, and daily notes operations through natural language commands.3515Apache 2.0
- AlicenseBqualityCmaintenanceEnables interaction with note.com through API to search and read articles, manage posts and drafts, handle comments and likes, retrieve analytics, and access membership information.3320729ISC
- AlicenseBqualityDmaintenanceEnables access to Yuque (语雀) documentation through cookie-based authentication, supporting document retrieval, search, TOC navigation, and content management from knowledge bases via URL or namespace.44624MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/cutalion/yonote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server