memos-mcp-server
Version:
A Model Context Protocol (MCP) server for Memos API with search, create, retrieve, and tag listing capabilities.
136 lines (89 loc) • 3.09 kB
Markdown
# Memos MCP Server
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for integrating [Memos](https://github.com/usememos/memos) with AI assistants that support the MCP protocol, such as Claude.
## ✨ Features
- Search memos using keywords
- Create new memos with customizable visibility settings and tags
- Retrieve specific memos by ID
- Get user information
## 🚀 Installation
### Claude Desktop Setup
1. **Install Claude Desktop**
- Download [Claude Desktop](https://claude.ai/download)
- Ensure you have the latest version (Menu: Claude -> Check for Updates...)
2. **Configure MCP Server**
```json
{
"mcpServers": {
"memos": {
"command": "npx",
"args": [
"memos-mcp-server"
],
"env": {
"MEMOS_URL": "https://your-memos-instance.com",
"MEMOS_API_KEY": "your_api_key"
}
}
}
}
```
## 🛠️ Available Tools
### search_memo
Search for memos using keywords.
**Parameters:**
- `key_word` (string): The keywords to search for in memo content
- `state` (string, optional): The state of memos to list (default: "NORMAL", can also be "ARCHIVED")
### create_memo
Create a new memo.
**Parameters:**
- `content` (string): Memo content
- `visibility` (string, optional): Visibility setting (default: "PRIVATE", options: "PUBLIC", "PROTECTED", "PRIVATE")
- `tags` (array of strings, optional): List of tags for the memo
### get_memo
Retrieve a specific memo by its ID.
**Parameters:**
- `name` (string): Memo name, format is `memos/{id}` or just the ID number
### get_user
Get current user information.
## 🧪 Development
This project uses TypeScript with the FastMCP framework for MCP server development.
### Setup
```bash
# Install dependencies
npm install
# Create .env file and set environment variables
cp .env.example .env
# Edit .env file with your Memos API details
```
### Development Mode
```bash
npm run dev
```
### Build
```bash
npm run build
```
### Run Production Server
```bash
npm start
```
### Test with `mcp-cli`
The fastest way to test and debug your server is with `fastmcp dev`:
```bash
npx fastmcp dev src/server.ts
```
This will run your server with [`mcp-cli`](https://github.com/wong2/mcp-cli) for testing and debugging your MCP server in the terminal.
### Inspect with `MCP Inspector`
You can also use the official [`MCP Inspector`](https://modelcontextprotocol.io/docs/tools/inspector) to inspect your server with a Web UI:
```bash
npx fastmcp inspect src/server.ts
```
## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Visit the [issues page](https://github.com/stephen9412/memos-mcp-server/issues).
## 📄 License
[MIT License](LICENSE) - Copyright (c) 2025 Stephen J. Li
```text
在 @/src/server.ts 中,幫我加入在 server 啟動階段,就試著用 getUser 去當作 ping 看看能不能連接 memos server,如果不能則直接報錯退出。
然後 if (!MEMOS_URL || !MEMOS_API_KEY) 這個判別刪掉,用 getUser ping 取代就好。
```