Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

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
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
MCP servers/AI & LLM Tools
chemiguel23 avatar

MemoryMesh

chemiguel23/memorymesh

MemoryMesh is a knowledge graph server that enables AI models to maintain consistent, structured memory across conversations through schema-based tools and dynamic node management. It provides capabilities for defining custom data structures via schemas that automatically generate tools for adding, updating, and deleting knowledge graph nodes, with support for relationships and metadata to guide AI interactions. The server addresses the problem of maintaining coherent, persistent context in text-based RPGs and interactive storytelling applications where AI agents need to track complex, interconnected information about characters, settings, and narrative state.

GitHub stars
342
last updated
Mar 10, 2026
View on GitHubSave

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Readme

MemoryMesh

Release TypeScript License: MIT GitHub Stars

MemoryMesh is an MCP server that gives AI models a structured, long-term memory in the form of a knowledge graph. You describe the kinds of things you want to remember in small schema files (people, projects, characters, locations, books...), and MemoryMesh turns each one into tools the AI uses to add, update and delete that information, linking related items as it goes.

It works for anything you can describe as things and the connections between them: a text-based RPG world, the people and teams at your company, a personal CRM, or your reading notes.

Based on the Knowledge Graph Memory Server from the MCP servers repository.

MemoryMesh MCP server

MseeP.ai Security Assessment

How it works

The memory is a graph of nodes and edges:

  • A node is a thing: {"name": "Mara", "nodeType": "npc", "metadata": ["role: Blacksmith", "status: injured"]}
  • An edge is a connection between two nodes: {"from": "Mara", "to": "Riverton", "edgeType": "located_in"}. Edges can have an optional weight from 0 to 1 (strength or confidence; treated as 1 when not set).

A schema describes one type of node. For a schema named add_npc, MemoryMesh creates three tools:

  • add_npc creates an NPC. Fields marked as relationships also create edges to the nodes they name.
  • update_npc changes the fields you pass and keeps everything else. Passing metadata replaces the whole list.
  • delete_npc removes the NPC and its edges.

Every call is all-or-nothing: if anything is wrong (a missing required field, a link to a node that doesn't exist), nothing is saved, and the AI gets a clear error it can act on.

Schema format

Each schema is a JSON file ending in .schema.json. This is the npc example that ships with MemoryMesh:

{
  "name": "add_npc",
  "description": "Add a new character (NPC) to the knowledge graph",
  "properties": {
    "name": { "type": "string", "description": "The character's unique name", "required": true },
    "description": { "type": "string", "description": "Who the character is", "required": true },
    "status": { "type": "string", "description": "Current condition", "enum": ["alive", "injured", "dead", "missing"] },
    "traits": { "type": "array", "description": "Personality traits" },
    "currentLocation": {
      "type": "string",
      "description": "Where the character is now",
      "relationship": { "edgeType": "located_in", "description": "Where the character is now (must already exist)" }
    }
  },
  "additionalProperties": true
}
KeyMeaning
nameMust start with add_. The rest becomes the node type and tool suffix (npc → add_npc, update_npc, delete_npc).
descriptionDescription of the add_ tool, shown to the AI.
propertiesThe fields. Each has a type (string or array) and a description, plus optionally:
↳ requiredtrue if the AI must provide this field. Keep this to a minimum, or the AI will invent values it doesn't know.
↳ enumA list of allowed values.
↳ relationshipCreates an edge (edgeType) to each node named in this field. Those nodes must already exist.
additionalPropertiestrue (default) saves fields not listed above as extra metadata; false rejects them.

If a schema file is invalid, MemoryMesh skips it, logs the reason, and starts with the others.

The SchemaManager lets you create and edit schemas visually (guide).

SchemaManager

Example schema sets

MemoryMesh ships with two small examples, npc and location. Ready-made sets for different uses are shared in Discussions:

  • People & organization: people, teams, projects, places and events (who reports to whom, who's responsible for what, who went where, birthdays)
  • Personal CRM: contacts, companies, interactions and follow-ups
  • Research & reading notes: sources, authors, concepts and notes
  • RPG & storytelling: the full set of 11 schemas for text-based games

Feel free to share your own.

Built-in tools

These are always available, whatever schemas you use:

ToolPurpose
read_graphReturn the whole graph
search_nodesFind nodes by name, type or metadata, with their direct neighbours
open_nodesReturn specific nodes by name, with their direct neighbours
add_nodes, update_nodes, delete_nodesWork with nodes of any type
add_edges, update_edges, delete_edgesWork with edges
add_metadata, delete_metadataAdd or remove individual metadata entries

Installation

You need Node.js 18 or newer and an MCP client such as Claude Desktop.

  1. Download and build MemoryMesh:

    git clone https://github.com/CheMiguel23/MemoryMesh.git
    
    cd MemoryMesh
    
    npm install
    

    npm install also builds the project into dist/.

  2. Add MemoryMesh to Claude Desktop. Open Settings → Developer → Edit Config and add:

    {
      "mcpServers": {
        "memorymesh": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/MemoryMesh/dist/index.js"]
        }
      }
    }
    

    On Windows, double every backslash: "C:\\Projects\\MemoryMesh\\dist\\index.js".

  3. Fully quit and restart Claude Desktop. MemoryMesh and its tools (add_npc, read_graph, ...) appear in the tools menu of the chat box.

Updating

git pull
npm install

Then restart your MCP client. Updating keeps your memory file and any schemas you edited.

Configuration

Environment variableWhat it setsDefault
MEMORYMESH_MEMORY_FILEPath of the memory filedist/data/memory.json
MEMORYMESH_SCHEMAS_DIRFolder containing .schema.json filesdist/data/schemas

Set them in your Claude Desktop config:

"memorymesh": {
  "command": "node",
  "args": ["/ABSOLUTE/PATH/TO/MemoryMesh/dist/index.js"],
  "env": {
    "MEMORYMESH_MEMORY_FILE": "/ABSOLUTE/PATH/TO/my-project/memory.json",
    "MEMORYMESH_SCHEMAS_DIR": "/ABSOLUTE/PATH/TO/my-project/schemas"
  }
}

Keeping your schemas and memory in a folder of your own keeps them separate from the MemoryMesh code. You can also run several MemoryMesh entries with different folders, for example one per campaign or project.

Docker: docker build -t memorymesh . then docker run -i --rm -v memorymesh-data:/data memorymesh. The memory file is /data/memory.json inside the container.

Viewing your memory

The memory file stores one JSON object per line. The MemoryViewer displays it as a searchable table with stats (guide): open it in Chrome or Edge, click Select Memory File, and pick your memory.json.

Tips

  • Tell the AI what the memory is for, for example in a Claude Project's instructions: "Use the memorymesh tools to record every person, team and project I mention, and check the graph before answering questions about them."
  • The AI can be hesitant to delete things. Ask explicitly when you want something removed.
  • When information conflicts, the latest update wins. To keep both versions, record the source or date in metadata ("source: tavern gossip", "as of: chapter 3"), or store competing claims as separate nodes.

Troubleshooting

  • MemoryMesh doesn't appear in Claude Desktop: check that the path in the config is absolute and points to dist/index.js (with doubled backslashes on Windows), and that npm install finished without errors.
  • Tools are missing: check that your schema files end in .schema.json and that their name starts with add_.
  • Check the log, where MemoryMesh reports which schemas it loaded and why any were skipped:
    • macOS: ~/Library/Logs/Claude/mcp-server-memorymesh.log
    • Windows: the logs folder inside %APPDATA%\Claude

Development

npm install     # also builds
npm test        # runs the test suite
npm run watch   # recompiles on change
FilePurpose
src/index.tsEntry point: loads schemas and starts the server on stdio
src/server.tsLists tools and routes each tool call to its handler
src/tools.tsDefinitions of the built-in tools
src/schemas.tsLoads schema files and implements the generated add_/update_/delete_ tools
src/graph.tsThe graph operations themselves, with input validation
src/store.tsReads and writes the memory file, one change at a time
src/config.tsPaths and version
src/types.tsShared types

Contributing

Contributions, feedback, ideas and schema sets are welcome. Open an issue, start a discussion, or send a pull request.

Details

Repository
github.com/chemiguel23/memorymesh
Categories
AI & LLM Tools, Documents & Knowledge

Related AI & LLM Tools MCP servers

View all
1massive-com avatarMassive.commassive-com/mcp_massiveProvides access to Massive.com data via an MCP server with four composable tools and in-memory DataFrame storage for SQL queries and analytics.332stars
2elusznik avatarMCP Server Code Execution Modeelusznik/mcp-server-code-execution-modeAn MCP server that executes Python code in isolated rootless containers with optional MCP server proxying. Implementation of Anthropic's and Cloudflare&#x2331stars
3andrea9293 avatarMCP Documentation Serverandrea9293/mcp-documentation-serverProvides local-first document management and AI-assisted search via embeddings, with on-disk persistence and in-memory indexes.313stars
4joenorton avatarComfyUIjoenorton/comfyui-mcp-serverA lightweight Python-based MCP server that interfaces with a local ComfyUI instance to generate images via AI agent requests.313stars
5lyellr88 avatarMarm Mcp Serverlyellr88/marm-systemsUniversal MCP Server with advanced AI memory capabilities and semantic search.0stars
6yoshiko-pg avatarO3 Searchyoshiko-pg/o3-search-mcpMCP server for OpenAI o3 web search286stars