note

package
v0.0.0-...-0c5fcde Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddTaskArgs

type AddTaskArgs struct {
	Project    string   `json:"project" jsonschema:"project name"`
	NoteID     string   `json:"note_id" jsonschema:"note ID to add task to"`
	Keyword    string   `json:"keyword" jsonschema:"task keyword (e.g., TODO, TASK). Call get_keywords from todo MCP to see valid keywords."`
	Title      string   `json:"title" jsonschema:"task title/description"`
	ID         string   `json:"id,omitempty" jsonschema:"optional unique task identifier for creating references"`
	References []string `json:"references,omitempty" jsonschema:"optional list of task IDs this task depends on (creates ^id references)"`
}

Task types

type AddTaskResult

type AddTaskResult struct {
	Message       string              `json:"message" jsonschema:"status message"`
	Success       bool                `json:"success" jsonschema:"whether the task was added successfully"`
	ValidKeywords map[string][]string `json:"valid_keywords" jsonschema:"valid keywords grouped by category"`
}

type CountNotesArgs

type CountNotesArgs struct {
	Project string `json:"project" jsonschema:"project name"`
}

type CountNotesResult

type CountNotesResult struct {
	Count   int    `json:"count" jsonschema:"total number of notes"`
	Project string `json:"project" jsonschema:"project name"`
}

type CreateNoteArgs

type CreateNoteArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	Title   string `json:"title,omitempty" jsonschema:"note title (optional)"`
	Content string `json:"content,omitempty" jsonschema:"initial content for the note (optional, added after title)"`
}

type CreateNoteResult

type CreateNoteResult struct {
	ID      string `json:"id" jsonschema:"created note ID"`
	Path    string `json:"path" jsonschema:"file path to the note"`
	Project string `json:"project" jsonschema:"project name"`
	Message string `json:"message" jsonschema:"status message"`
}

type CreateProjectArgs

type CreateProjectArgs struct {
	Name string `json:"name" jsonschema:"project name to create"`
}

type CreateProjectResult

type CreateProjectResult struct {
	Name    string `json:"name" jsonschema:"created project name"`
	Path    string `json:"path" jsonschema:"project directory path"`
	Message string `json:"message" jsonschema:"status message"`
}

type DeleteNoteArgs

type DeleteNoteArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	NoteID  string `json:"note_id" jsonschema:"note ID to delete"`
}

type DeleteNoteResult

type DeleteNoteResult struct {
	Message string `json:"message" jsonschema:"status message"`
}

type FindTasksArgs

type FindTasksArgs struct {
	Project string `json:"project" jsonschema:"project name"`
}

type FindTasksResult

type FindTasksResult struct {
	Tasks   []TaskInfo `json:"tasks" jsonschema:"list of tasks found"`
	Count   int        `json:"count" jsonschema:"total number of tasks"`
	Project string     `json:"project" jsonschema:"project name"`
}

type GetLastNoteArgs

type GetLastNoteArgs struct {
	Project string `json:"project" jsonschema:"project name"`
}

type GetLastNoteResult

type GetLastNoteResult struct {
	ID      string `json:"id" jsonschema:"note ID"`
	Title   string `json:"title" jsonschema:"note title"`
	Content string `json:"content" jsonschema:"full content of the note"`
	Path    string `json:"path" jsonschema:"file path to the note"`
	Project string `json:"project" jsonschema:"project name"`
}

type GetLinesArgs

type GetLinesArgs struct {
	Project     string `json:"project" jsonschema:"project name"`
	NoteID      string `json:"note_id" jsonschema:"note ID or partial ID"`
	Pattern     string `` /* 135-byte string literal not displayed */
	LineNumber  int    `` /* 133-byte string literal not displayed */
	LinesBefore int    `json:"lines_before,omitempty" jsonschema:"number of lines to return before the anchor (default: 0)"`
	LinesAfter  int    `json:"lines_after,omitempty" jsonschema:"number of lines to return after the anchor (default: 0)"`
}

GetLines types

type GetLinesResult

type GetLinesResult struct {
	Matches []LineMatch `json:"matches" jsonschema:"list of matches with their context lines"`
	Count   int         `json:"count" jsonschema:"number of matches found"`
	Project string      `json:"project" jsonschema:"project name"`
	NoteID  string      `json:"note_id" jsonschema:"note ID"`
}

type GetNoteArgs

type GetNoteArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	NoteID  string `json:"note_id" jsonschema:"note ID or partial ID"`
}

type GetNoteResult

type GetNoteResult struct {
	ID      string `json:"id" jsonschema:"note ID"`
	Title   string `json:"title" jsonschema:"note title"`
	Content string `json:"content" jsonschema:"full content of the note"`
	Path    string `json:"path" jsonschema:"file path to the note"`
	Project string `json:"project" jsonschema:"project name"`
}

type GetTOCArgs

type GetTOCArgs struct {
	Project string `json:"project" jsonschema:"project name"`
}

TOC types

type GetTOCResult

type GetTOCResult struct {
	Content string `json:"content" jsonschema:"full content of the table of contents (README.md)"`
	Path    string `json:"path" jsonschema:"file path to the TOC"`
	Project string `json:"project" jsonschema:"project name"`
}

type LineMatch

type LineMatch struct {
	AnchorLine  int      `json:"anchor_line" jsonschema:"line number of the matched/anchor line (1-based)"`
	AnchorText  string   `json:"anchor_text" jsonschema:"text of the anchor line"`
	LinesBefore []string `json:"lines_before,omitempty" jsonschema:"lines before the anchor"`
	LinesAfter  []string `json:"lines_after,omitempty" jsonschema:"lines after the anchor"`
	StartLine   int      `json:"start_line" jsonschema:"first line number in the returned range (1-based)"`
	EndLine     int      `json:"end_line" jsonschema:"last line number in the returned range (1-based)"`
}

type ListNotesArgs

type ListNotesArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	Limit   int    `json:"limit,omitempty" jsonschema:"maximum number of notes to return (default: all)"`
}

Note types

type ListNotesResult

type ListNotesResult struct {
	Notes   []NoteInfo `json:"notes" jsonschema:"list of notes"`
	Count   int        `json:"count" jsonschema:"total number of notes returned"`
	Project string     `json:"project" jsonschema:"project name"`
}

type ListProjectsArgs

type ListProjectsArgs struct{}

Project types

type ListProjectsResult

type ListProjectsResult struct {
	Projects []ProjectInfo `json:"projects" jsonschema:"list of projects"`
	Count    int           `json:"count" jsonschema:"total number of projects"`
}

type MCPServer

type MCPServer struct {
	// contains filtered or unexported fields
}

MCPServer wraps the MCP server with note operations

func NewMCPServer

func NewMCPServer(cfg *config.Config) *MCPServer

NewMCPServer creates a new MCP server for note operations

func (*MCPServer) Run

func (s *MCPServer) Run(ctx context.Context) error

Run starts the MCP server on stdio transport

type NoteInfo

type NoteInfo struct {
	ID    string `json:"id" jsonschema:"note ID (timestamp format)"`
	Title string `json:"title" jsonschema:"note title"`
	Path  string `json:"path" jsonschema:"file path to the note"`
}

type ProjectInfo

type ProjectInfo struct {
	Name      string `json:"name" jsonschema:"project name"`
	Path      string `json:"path" jsonschema:"project directory path"`
	HasNotes  bool   `json:"has_notes" jsonschema:"whether project has notes directory"`
	NoteCount int    `json:"note_count" jsonschema:"number of notes in project"`
	TaskCount int    `json:"task_count" jsonschema:"number of active tasks in project"`
}

type SearchNotesArgs

type SearchNotesArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	Pattern string `json:"pattern" jsonschema:"search pattern (case-insensitive substring match)"`
}

Search types

type SearchNotesResult

type SearchNotesResult struct {
	Results []SearchResultInfo `json:"results" jsonschema:"list of search results"`
	Count   int                `json:"count" jsonschema:"total number of matches"`
	Project string             `json:"project" jsonschema:"project name"`
}

type SearchResultInfo

type SearchResultInfo struct {
	NoteID  string `json:"note_id" jsonschema:"note ID"`
	Title   string `json:"title" jsonschema:"note title"`
	LineNum int    `json:"line_num" jsonschema:"line number of the match"`
	Line    string `json:"line" jsonschema:"the matching line"`
}

type SearchTitlesArgs

type SearchTitlesArgs struct {
	Project string `json:"project" jsonschema:"project name"`
	Pattern string `json:"pattern" jsonschema:"search pattern for titles (case-insensitive substring match)"`
}

type SearchTitlesResult

type SearchTitlesResult struct {
	Notes   []NoteInfo `json:"notes" jsonschema:"list of notes with matching titles"`
	Count   int        `json:"count" jsonschema:"total number of matches"`
	Project string     `json:"project" jsonschema:"project name"`
}

type TaskInfo

type TaskInfo struct {
	NoteID  string `json:"note_id" jsonschema:"note ID containing the task"`
	Title   string `json:"title" jsonschema:"note title"`
	LineNum int    `json:"line_num" jsonschema:"line number of the task"`
	Line    string `json:"line" jsonschema:"the task line"`
}

type UpdateNoteArgs

type UpdateNoteArgs struct {
	Project    string `json:"project" jsonschema:"project name"`
	NoteID     string `json:"note_id" jsonschema:"note ID"`
	OldContent string `` /* 190-byte string literal not displayed */
	NewContent string `` /* 126-byte string literal not displayed */
}

type UpdateNoteResult

type UpdateNoteResult struct {
	Success bool   `json:"success" jsonschema:"whether the update succeeded"`
	Message string `json:"message" jsonschema:"status message"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL