# FlowNoter MCP Server
A Model Context Protocol (MCP) server for saving conversation notes as markdown files.
## Features
- 📝 Save agent conversation history as markdown notes
- 🗂️ Automatically organizes notes in a `notes` folder
- 🧹 Filters out thinking process and tool execution details
- ⏰ Adds timestamps to each note
- 🎯 Extracts clean responses from assistant messages
- 🔧 Configurable number of conversation turns to save
## Installation
### Via npm
```bash
# Install globally
npm install -g @tricrepe/flownoter
# Or use with npx (no installation needed)
npx @tricrepe/flownoter
```
### Local Development
```bash
git clone https://github.com/tricrepe/flownoter.git
cd flownoter
npm install
npm run build
```
## Configuration
Add this to your MCP settings configuration file:
### Option 1: Using npx (Recommended)
```json
{
"mcpServers": {
"flownoter": {
"command": "npx",
"args": ["-y", "@tricrepe/flownoter"]
}
}
}
```
### Option 2: Global installation
```bash
npm install -g @tricrepe/flownoter
```
```json
{
"mcpServers": {
"flownoter": {
"command": "flownoter"
}
}
}
```
### Option 3: Local development
```json
{
"mcpServers": {
"flownoter": {
"command": "node",
"args": ["/path/to/flownoter/dist/index.js"]
}
}
}
```
## Available Tools
### save_conversation_note
Saves recent conversation messages as a markdown note.
**Parameters:**
- `messages` (required): Array of conversation messages
- Each message should have:
- `role`: Either "user" or "assistant"
- `content`: The message content
- `user_question` (required): The user's question to use as the note title
- `num_messages` (optional): Number of recent conversation turns to include (default: all messages)
**Example:**
```json
{
"messages": [
{
"role": "user",
"content": "How do I create an MCP server?"
},
{
"role": "assistant",
"content": "To create an MCP server, you need to..."
}
],
"user_question": "Creating an MCP server",
"num_messages": 1
}
```
## Output Format
Notes are saved in the `notes/` folder with the following format:
```markdown
# [User Question]
**Created:** [ISO 8601 Timestamp]
---
## Question
[User's question]
## Answer
[Assistant's clean response without thinking process or tool calls]
```
## File Naming
Note files are named using:
- Sanitized version of the user's question (alphanumeric characters and Chinese characters only)
- Timestamp for uniqueness
- `.md` extension
Example: `Creating_an_MCP_server_1696348800000.md`
## Development
### Build
```bash
npm run build
```
### Run Locally
```bash
npm start
```
## License
ISC