CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Hjarni

hjarni/hjarni-mcp
24 toolsHTTPregistry active
Summary

A hosted note-taking system that gives Claude and ChatGPT direct access to your Markdown notes through a remote MCP server. Connect via OAuth in under two minutes with no local setup. Exposes tools for full CRUD on notes, folders, and tags, plus full-text search, wiki-style bidirectional linking, and file attachments. Each folder can have custom AI instructions that guide how the agent works with notes inside it. The dashboard tool gives agents an overview of your knowledge base structure. Works with Claude Desktop, Claude.ai, ChatGPT, and any client supporting streamable HTTP transport. Useful when you want your AI to remember things across conversations and actively manage a personal knowledge base instead of just answering one-off questions.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

24 tools
dashboard-getGet an overview of the Second Brain: counts of notes, containers, tags, inbox items, and recent notes.

Get an overview of the Second Brain: counts of notes, containers, tags, inbox items, and recent notes.

No parameter schema in public metadata yet.

searchUnified search across notes, containers, and tags. Returns results grouped by type. Use the types parameter to search only specific types (e.g., types: ['notes'] for note-only search). Supports full-text search with snippets, all note filters (container, tags, include_nested,...8 params

Unified search across notes, containers, and tags. Returns results grouped by type. Use the types parameter to search only specific types (e.g., types: ['notes'] for note-only search). Supports full-text search with snippets, all note filters (container, tags, include_nested,...

Parameters* required
tagsarray
Filter note results to notes with ALL these tags (by name)
querystring
Search query string
scopestring
Search active or archived notes (default: active)one of active · archived
typesarray
Which types to search. Defaults to all three: ['notes', 'containers', 'tags']
tag_idsarray
Filter note results to notes with ALL these tags (by ID)
container_idinteger
Filter note results to this container (ignored when search_scope is 'all')
search_scopestring
Search scope: 'all' (default, personal + all teams), 'personal' (personal notes only), or 'team:<id>' (specific team). Applies to note results.
include_nestedboolean
Include notes from sub-containers when container_id is set (default: false)
notes-listList notes with optional filtering and sorting. Returns paginated results. Use team_id to list notes in a team. Use container_id to list notes in a specific container (with include_nested for sub-containers). Use tag/tags/tag_ids to filter by tags.10 params

List notes with optional filtering and sorting. Returns paginated results. Use team_id to list notes in a team. Use container_id to list notes in a specific container (with include_nested for sub-containers). Use tag/tags/tag_ids to filter by tags.

Parameters* required
tagstring
Filter by tag name
pageinteger
Page number (default: 1)
sortstring
Sort order: 'recent' (updated_at desc, default), 'oldest' (updated_at asc), or 'title' (alphabetical)one of recent · oldest · title
tagsarray
Filter to notes with ALL these tags by name (AND logic)
scopestring
Filter scope (default: active). 'inbox' and 'favorited' only for personal notes.one of active · archived · inbox · favorited
tag_idsarray
Filter to notes with ALL these tags by ID (AND logic)
team_idinteger
List notes in this team instead of personal notes
per_pageinteger
Results per page, max 100 (default: 25)
container_idinteger
Filter by container ID
include_nestedboolean
Include notes from sub-containers when container_id is set (default: false)
notes-getGet a single note by ID, including its full body content, tags, container, linked notes, and file attachments.1 params

Get a single note by ID, including its full body content, tags, container, linked notes, and file attachments.

Parameters* required
idinteger
Note ID
notes-createCreate a new note. The body supports Markdown and wiki-links: use [[id:Note Title]] to link to other notes. Use team_id to create in a team.7 params

Create a new note. The body supports Markdown and wiki-links: use [[id:Note Title]] to link to other notes. Use team_id to create in a team.

Parameters* required
bodystring
Note body content (Markdown with [[id:Note Title]] wiki-links)
titlestring
Note title
summarystring
Short summary of the note
team_idinteger
Create note in this team instead of personal space
tag_liststring
Comma-separated list of tags
source_urlstring
Source URL reference
container_idinteger
Container ID to place the note in
notes-updateUpdate an existing note. Supports updating content, moving to a container, changing tags, archiving (archived: true/false), and favoriting (favorited: true/false).9 params

Update an existing note. Supports updating content, moving to a container, changing tags, archiving (archived: true/false), and favoriting (favorited: true/false).

Parameters* required
idinteger
Note ID
bodystring
New body content (Markdown with [[id:Note Title]] wiki-links)
titlestring
New title
summarystring
New summary
archivedboolean
Archive (true) or unarchive (false) the note. Personal notes only.
tag_liststring
New comma-separated tag list
favoritedboolean
Favorite (true) or unfavorite (false) the note. Personal and team notes.
source_urlstring
New source URL
container_idinteger
Move to this container
notes-deletePermanently delete a note.1 params

Permanently delete a note.

Parameters* required
idinteger
Note ID
containers-listList containers (folders) for organizing notes. By default returns root-level personal containers. Use team_id to list containers in a team.4 params

List containers (folders) for organizing notes. By default returns root-level personal containers. Use team_id to list containers in a team.

Parameters* required
pageinteger
Page number
scopestring
Filter scope (default: roots). 'archived' only for personal containers.one of roots · all · archived
team_idinteger
List containers in this team instead of personal containers
per_pageinteger
Results per page
containers-getGet a single container by ID, including its LLM instructions if set. Use include_tree to also get ancestors and children.2 params

Get a single container by ID, including its LLM instructions if set. Use include_tree to also get ancestors and children.

Parameters* required
idinteger
Container ID
include_treeboolean
Include ancestors and children arrays (default: false)
containers-createCreate a new container (folder) for organizing notes.3 params

Create a new container (folder) for organizing notes.

Parameters* required
namestring
Container name
parent_idinteger
Parent container ID for nesting
descriptionstring
Container description
containers-updateUpdate an existing container (rename, change description, move to a different parent, or set display position).5 params

Update an existing container (rename, change description, move to a different parent, or set display position).

Parameters* required
idinteger
Container ID
namestring
New name
positioninteger
Display order position (lower numbers appear first)
parent_idinteger
New parent container ID (null for root)
descriptionstring
New description
tags-listList all tags.2 params

List all tags.

Parameters* required
pageinteger
Page number
per_pageinteger
Results per page
tags-createCreate a new tag.1 params

Create a new tag.

Parameters* required
namestring
Tag name
teams-listList all teams the user is a member of.

List all teams the user is a member of.

No parameter schema in public metadata yet.

teams-getGet team details including recent notes.1 params

Get team details including recent notes.

Parameters* required
idinteger
Team ID
instructions-getGet LLM instructions at the specified level. Use level 'brain' to get global instructions (call early in conversations). Use 'personal_root' for personal space, 'container' for a specific container (includes inheritance chain), or 'team' for team instructions.2 params

Get LLM instructions at the specified level. Use level 'brain' to get global instructions (call early in conversations). Use 'personal_root' for personal space, 'container' for a specific container (includes inheritance chain), or 'team' for team instructions.

Parameters* required
idinteger
Container ID or Team ID (required for 'container' and 'team' levels)
levelstring
Instruction level: 'brain' (global), 'personal_root', 'container', or 'team'one of brain · personal_root · container · team
instructions-updateUpdate LLM instructions at the specified level. Use 'brain' for global, 'personal_root' for personal space, 'container' for a specific container, or 'team' for team instructions.3 params

Update LLM instructions at the specified level. Use 'brain' for global, 'personal_root' for personal space, 'container' for a specific container, or 'team' for team instructions.

Parameters* required
idinteger
Container ID or Team ID (required for 'container' and 'team' levels)
levelstring
Instruction level to updateone of brain · personal_root · container · team
instructionsstring
The full updated instructions text. This replaces the existing instructions entirely.
links-manageCreate or remove a bidirectional link between two notes.3 params

Create or remove a bidirectional link between two notes.

Parameters* required
actionstring
Action: 'link' to create a link, 'unlink' to remove itone of link · unlink
source_note_idinteger
First note ID
target_note_idinteger
Second note ID
files-attachAttach a file to a note. Send the file contents as a base64-encoded string.5 params

Attach a file to a note. Send the file contents as a base64-encoded string.

Parameters* required
idinteger
Note ID
datastring
Base64-encoded file contents
filenamestring
Filename (e.g. report.pdf)
descriptionstring
Optional file description
content_typestring
MIME type (e.g. application/pdf). Defaults to application/octet-stream
files-attach_from_urlFetch a file from a URL and attach it to a note. Follows one redirect.5 params

Fetch a file from a URL and attach it to a note. Follows one redirect.

Parameters* required
idinteger
Note ID
urlstring
URL to fetch the file from
filenamestring
Override filename (default: derived from URL)
descriptionstring
Optional file description
content_typestring
Override MIME type (default: from HTTP response)
files-removeRemove a file attachment from a note.2 params

Remove a file attachment from a note.

Parameters* required
file_idinteger
File ID (from notes-get response)
note_idinteger
Note ID
files-create_upload_urlGenerate a one-time upload URL for attaching a file to a note. Share this URL with the user so they can upload their file directly — the file bypasses the conversation and goes straight to Second Brain, saving tokens. The link expires after 30 minutes. Use files-check_upload t...2 params

Generate a one-time upload URL for attaching a file to a note. Share this URL with the user so they can upload their file directly — the file bypasses the conversation and goes straight to Second Brain, saving tokens. The link expires after 30 minutes. Use files-check_upload t...

Parameters* required
note_idinteger
Note ID to attach the file to
descriptionstring
Optional file description
files-check_uploadCheck the status of a file upload link created by files-create_upload_url. Returns 'pending' (user hasn't uploaded yet), 'completed' (file attached successfully), or 'expired' (link timed out).1 params

Check the status of a file upload link created by files-create_upload_url. Returns 'pending' (user hasn't uploaded yet), 'completed' (file attached successfully), or 'expired' (link timed out).

Parameters* required
tokenstring
Upload token (from files-create_upload_url response)
files-get_download_urlGet a temporary download URL for a file attached to a note. Share the URL with the user so they can download the file in their browser. The URL expires after a few minutes.2 params

Get a temporary download URL for a file attached to a note. Share the URL with the user so they can download the file in their browser. The URL expires after a few minutes.

Parameters* required
file_idinteger
File ID (from notes-get response)
note_idinteger
Note ID

Hjarni

Hjarni

Give your AI long-term memory.
Note-taking app with a built-in MCP server.

Website · Docs · Blog


What it does

Hjarni is an AI-native note-taking app. Write notes in Markdown, organize them in folders with custom AI instructions per folder, and let Claude or ChatGPT search, read, create, and organize your notes via MCP.

Your notes serve two readers: you and your AI. Hjarni stores the knowledge. ChatGPT and Claude are the interfaces.

Claude searching and creating notes in Hjarni

Connect

Hjarni is a hosted remote MCP server with OAuth authentication. No API keys, no Docker, no local setup. Setup takes under 2 minutes.

Claude.ai / Claude iOS

  1. Open Settings > Integrations
  2. Tap Add custom connector
  3. Set the name to hjarni and the URL to https://hjarni.com/mcp
  4. Tap Add and log in to Hjarni when redirected
Claude Add Connector dialog

Requires Claude Pro or Team plan for MCP integrations.

Claude Desktop / Claude Code

Add to your MCP config (claude_desktop_config.json or .claude.json):

{
  "mcpServers": {
    "hjarni": {
      "url": "https://hjarni.com/mcp",
      "type": "streamable-http"
    }
  }
}

Works on any Claude plan. Authenticates via OAuth on first connection.

ChatGPT

  1. Go to chatgpt.com > Settings > Connectors
  2. Enable Developer mode
  3. Tap Create app
  4. Set the name to hjarni and the MCP Server URL to https://hjarni.com/mcp
  5. Set authentication to OAuth
  6. Tap Create and log in to Hjarni when redirected
ChatGPT Create App form

Requires ChatGPT Plus, Pro, or Team plan.

Other MCP clients

Any client that supports streamable HTTP transport can connect. The endpoint is https://hjarni.com/mcp. Authentication uses OAuth 2.0 with PKCE. Discovery metadata is at /.well-known/oauth-authorization-server.

Available tools

ToolDescription
searchFull-text search across notes, containers, and tags
notes-createCreate a new note with title, body, tags, and container placement
notes-getRead a single note including full content, tags, and linked notes
notes-listList notes with filtering by container, tags, and sorting
notes-updateUpdate content, move notes, change tags, archive/unarchive
notes-deletePermanently delete a note
containers-listList folders for organizing notes
containers-createCreate new folders
containers-getGet a single container with its AI instructions
containers-updateUpdate a container (rename, move, change description)
tags-listList all tags
tags-createCreate new tags
links-manageCreate or remove bidirectional links between notes
instructions-getRead AI instructions set on a folder
instructions-updateUpdate folder-level AI instructions
files-attachAttach a file to a note
files-attach_from_urlFetch a file from a URL and attach it to a note
files-get_download_urlGet a temporary download URL for a file
files-removeRemove a file attachment
dashboard-getOverview of the account: note count, containers, tags, inbox
teams-listList all teams the user is a member of
teams-getGet team details including recent notes

Built-in prompts

The server also exposes MCP prompts for clients that support prompt discovery:

PromptDescription
summarize_noteSummarize a note and suggest tags and related links
weekly_reviewReview recent activity and suggest organization improvements
research_topicSynthesize everything in the knowledge base related to a topic

Usage examples

Research assistant

"What decisions have I made about the tech stack?"

Claude searches your notes, follows wiki-links between related notes, and synthesizes a summary from multiple sources.

Quick capture

"Save this as a note in my Projects folder and tag it"

Claude finds the right container, creates the note with Markdown formatting, adds tags, and links it to related notes.

Weekly review

"Help me triage my inbox"

Claude lists unfiled notes, suggests where each belongs based on your folder structure, and moves them with your approval.

Writing with context

"Draft a project update using my recent meeting notes"

Claude pulls relevant notes and uses them as source material.

Features

  • Markdown notes with full formatting support
  • Wiki-links ([[id:Note Title]]) for cross-referencing
  • Folders with custom AI instructions per folder
  • Full-text search across all content
  • Bidirectional linking between notes
  • Tags for cross-cutting categorization
  • File attachments (Pro plan and above)
  • Team collaboration with shared knowledge bases
  • REST API for custom integrations
  • Export your data as Markdown at any time

MCP server details

Endpointhttps://hjarni.com/mcp
TransportStreamable HTTP with JSON-RPC 2.0
Protocol versions2025-03-26 and 2024-11-05
AuthenticationOAuth 2.0 (PKCE) or Bearer token
CapabilitiesTools and prompts

For the full protocol reference, see the MCP server docs.

Pricing

PlanPriceWhat you get
Free$025 notes, containers, tags, search, full MCP & API access
Pro$10/moUnlimited notes, file attachments, share with 2 collaborators
Teams$13/seat/moShared knowledge base, team MCP & API, member management

Also available in EUR and GBP. See pricing.

Links

  • Website
  • Docs
  • Getting started
  • MCP server reference
  • REST API reference
  • Claude setup guide
  • ChatGPT setup guide
  • Blog
  • Privacy
  • Terms

Support

Email evert@hjarni.com.


MCP Badge hjarni/hjarni-mcp MCP server

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Documents & Knowledge
Registryactive
TransportHTTP
UpdatedApr 1, 2026
View on GitHub

Related Documents & Knowledge MCP Servers

View all →
Pdf Document Mcp

csoai-org/pdf-document-mcp

pdf-document-mcp MCP server by MEOK AI Labs
Mcp Document Converter

xt765/mcp-document-converter

Convert PDF, DOCX, HTML, Markdown, and Text for AI assistant context injection.
10
Markdown Formatter

io.github.xjtlumedia/markdown-formatter

AI Answer Copier — Convert Markdown to PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG
3
Better Notion

io.github.ai-aviate/better-notion

Operate Notion with a single Markdown document — read, create, and update pages in one call.
2
Notion

suekou/mcp-notion-server

Notion MCP Server enables LLMs to access Notion workspaces with optional Markdown conversion to save tokens.
892
Docx

meterlong/mcp-doc

A powerful Word document processing service based on FastMCP, enabling AI assistants to create, edit, and manage docx files with full formatting support. Preserves original styles when editing content. 基于FastMCP的强大Word文档处理服务,使AI助手能够创建、编辑和管理docx文件,支持完整的格式设置功能。在编辑内容时能够保留原始样式和格式,实现精确的文档操作。
185