/
An MCP server that provides visual memory and context storage with knowledge graph capabilities
Server configuration and capabilities from the MCP manifest
Size: 12,144 bytes (3,036 tokens)
Tools Found: 23
Analysis ID: rbc50d02
This MCP server provides tools for managing a knowledge graph, including creating, deleting, and searching entities and relations, as well as file system operations and Microsoft Graph integrations.
Stars
Registry ID: 2d498eef-9457-47c3-9a42-75c47c70355a
Added to Registry: 9/21/2025
Last Updated: 9/22/2025
Last Seen: 9/22/2025
Default Branch: main
Last Push: 9/19/2025
Open Issues: 0
Historical performance and growth metrics over time
{ "name": "mcp-server", "tags": [], "tools": [ { "name": "create_entities", "description": "Create multiple new entities in the knowledge graph", "input_schema": { "type": "object", "required": [ "entities" ], "properties": { "entities": { "type": "array", "items": { "type": "object", "required": [ "name", "entityType", "observations" ], "properties": { "name": { "type": "string", "description": "The name of the entity" }, "entityType": { "type": "string", "description": "The type of the entity" }, "observations": { "type": "array", "items": { "type": "string" }, "description": "An array of observation contents associated with the entity" } } } } } }, "output_schema": {} }, { "name": "create_relations", "description": "Create multiple new relations between entities in the knowledge graph. Relations should be in active voice", "input_schema": { "type": "object", "required": [ "relations" ], "properties": { "relations": { "type": "array", "items": { "type": "object", "required": [ "from", "to", "relationType", "weight" ], "properties": { "to": { "type": "string", "description": "The name of the entity where the relation ends" }, "from": { "type": "string", "description": "The name of the entity where the relation starts" }, "weight": { "type": "number", "maximum": 5, "minimum": 1, "description": "A number between 1 and 5 inclusive that represents how strongly two nodes are related" }, "relationType": { "type": "string", "description": "The type of the relation" } } } } } }, "output_schema": {} }, { "name": "add_observations", "description": "Add new observations to existing entities in the knowledge graph", "input_schema": { "type": "object", "required": [ "observations" ], "properties": { "observations": { "type": "array", "items": { "type": "object", "required": [ "entityName", "contents" ], "properties": { "contents": { "type": "array", "items": { "type": "string" }, "description": "An array of observation contents to add" }, "entityName": { "type": "string", "description": "The name of the entity to add the observations to" } } } } } }, "output_schema": {} }, { "name": "delete_entities", "description": "Delete multiple entities and their associated relations from the knowledge graph", "input_schema": { "type": "object", "required": [ "entityNames" ], "properties": { "entityNames": { "type": "array", "items": { "type": "string" }, "description": "An array of entity names to delete" } } }, "output_schema": {} }, { "name": "delete_observations", "description": "Delete specific observations from entities in the knowledge graph", "input_schema": { "type": "object", "required": [ "deletions" ], "properties": { "deletions": { "type": "array", "items": { "type": "object", "required": [ "entityName", "observations" ], "properties": { "entityName": { "type": "string", "description": "The name of the entity containing the observations" }, "observations": { "type": "array", "items": { "type": "string" }, "description": "An array of observations to delete" } } } } } }, "output_schema": {} }, { "name": "delete_relations", "description": "Delete multiple relations from the knowledge graph", "input_schema": { "type": "object", "required": [ "relations" ], "properties": { "relations": { "type": "array", "items": { "type": "object", "required": [ "from", "to", "relationType", "weight" ], "properties": { "to": { "type": "string", "description": "The name of the entity where the relation ends" }, "from": { "type": "string", "description": "The name of the entity where the relation starts" }, "weight": { "type": "number", "maximum": 5, "minimum": 1, "description": "A number between 1 and 5 inclusive that represents how strongly two nodes are related" }, "relationType": { "type": "string", "description": "The type of the relation" } } }, "description": "An array of relations to delete" } } }, "output_schema": {} }, { "name": "read_graph", "description": "Read the entire knowledge graph", "input_schema": { "type": "object", "properties": {} }, "output_schema": {} }, { "name": "search_nodes", "description": "Search for nodes in the knowledge graph based on a query", "input_schema": { "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "description": "The search query to match against entity names, types, and observation content" } } }, "output_schema": {} }, { "name": "open_nodes", "description": "Open specific nodes in the knowledge graph by their names", "input_schema": { "type": "object", "required": [ "names" ], "properties": { "names": { "type": "array", "items": { "type": "string" }, "description": "An array of entity names to retrieve" } } }, "output_schema": {} }, { "name": "list_allowed_directories", "description": "Returns the list of directories that this server is allowed to access. Subdirectories within these allowed directories are also accessible. Use this to understand which directories and their nested paths are available before trying to access files.", "input_schema": { "type": "object", "properties": {} }, "output_schema": {} }, { "name": "list_directory", "description": "Get a detailed listing of all files and directories in a specified path. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "output_schema": {} }, { "name": "list_directory_with_sizes", "description": "Get a detailed listing of all files and directories in a specified path, including sizes. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is useful for understanding directory structure and finding specific files within a directory. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" }, "sortBy": { "enum": [ "name", "size" ], "type": "string", "default": "name", "description": "Sort entries by name or size" } } }, "output_schema": {} }, { "name": "get_file_info", "description": "Retrieve detailed metadata about a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. This tool is perfect for understanding file characteristics without reading the actual content. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "output_schema": {} }, { "name": "read_text_file", "description": "Read the complete contents of a file from the file system as text. Handles various text encodings and provides detailed error messages if the file cannot be read. Use this tool when you need to examine the contents of a single file. Use the 'head' parameter to read only the first N lines of a file, or the 'tail' parameter to read only the last N lines of a file. Operates on the file as text regardless of extension. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path" ], "properties": { "head": { "type": "number", "description": "If provided, returns only the first N lines of the file" }, "path": { "type": "string" }, "tail": { "type": "number", "description": "If provided, returns only the last N lines of the file" } } }, "output_schema": {} }, { "name": "read_multiple_files", "description": "Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "paths" ], "properties": { "paths": { "type": "array", "items": { "type": "string" } } } }, "output_schema": {} }, { "name": "write_file", "description": "Create a new file or completely overwrite an existing file with new content. Use with caution as it will overwrite existing files without warning. Handles text content with proper encoding. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path", "content" ], "properties": { "path": { "type": "string" }, "content": { "type": "string" } } }, "output_schema": {} }, { "name": "edit_file", "description": "Make line-based edits to a text file. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path", "edits" ], "properties": { "path": { "type": "string" }, "edits": { "type": "array", "items": { "type": "object", "required": [ "oldText", "newText" ], "properties": { "newText": { "type": "string", "description": "Text to replace with" }, "oldText": { "type": "string", "description": "Text to search for - must match exactly" } }, "additionalProperties": false } }, "dryRun": { "type": "boolean", "default": false, "description": "Preview changes using git-style diff format" } } }, "output_schema": {} }, { "name": "create_directory", "description": "Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently. Perfect for setting up directory structures for projects or ensuring required paths exist. Only works within allowed directories.", "input_schema": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "output_schema": {} }, { "name": "move_file", "description": "Move or rename files and directories. Can move files between directories and rename them in a single operation. If the destination exists, the operation will fail. Works across different directories and can be used for simple renaming within the same directory. Both source and destination must be within allowed directories.", "input_schema": { "type": "object", "required": [ "source", "destination" ], "properties": { "source": { "type": "string" }, "destination": { "type": "string" } } }, "output_schema": {} }, { "name": "search_files", "description": "Recursively search for files and directories matching a pattern. Searches through all subdirectories from the starting path. The search is case-insensitive and matches partial names. Returns full paths to all matching items. Great for finding files when you don't know their exact location. Only searches within allowed directories.", "input_schema": { "type": "object", "required": [ "path", "pattern" ], "properties": { "path": { "type": "string" }, "pattern": { "type": "string" }, "excludePatterns": { "type": "array", "items": { "type": "string" }, "default": [] } } }, "output_schema": {} }, { "name": "graph_search_files", "description": "Search for files in Microsoft OneDrive using Microsoft Graph API. Requires an access token to be provided.", "input_schema": { "type": "object", "required": [ "accessToken", "query" ], "properties": { "top": { "type": "number", "maximum": 999, "minimum": 1, "description": "Maximum number of results to return (default: 25, max: 999)" }, "skip": { "type": "number", "minimum": 0, "description": "Number of results to skip for pagination" }, "query": { "type": "string", "description": "Search query to find files" }, "select": { "type": "array", "items": { "type": "string" }, "description": "Specific properties to retrieve (e.g., ['name', 'size', 'lastModifiedDateTime'])" }, "accessToken": { "type": "string", "description": "Microsoft Graph access token with Files.Read permission" } } }, "output_schema": {} }, { "name": "graph_get_file", "description": "Get details of a specific file from Microsoft OneDrive by its ID.", "input_schema": { "type": "object", "required": [ "accessToken", "fileId" ], "properties": { "fileId": { "type": "string", "description": "The ID of the file to retrieve" }, "accessToken": { "type": "string", "description": "Microsoft Graph access token with Files.Read permission" } } }, "output_schema": {} }, { "name": "graph_list_folder", "description": "List contents of a folder in Microsoft OneDrive. Use 'root' as folderId for the root folder.", "input_schema": { "type": "object", "required": [ "accessToken" ], "properties": { "top": { "type": "number", "minimum": 1, "description": "Maximum number of results to return" }, "skip": { "type": "number", "minimum": 0, "description": "Number of results to skip for pagination" }, "orderBy": { "type": "string", "description": "Property to sort by (e.g., 'name', 'lastModifiedDateTime')" }, "folderId": { "type": "string", "default": "root", "description": "The ID of the folder to list (use 'root' for root folder)" }, "accessToken": { "type": "string", "description": "Microsoft Graph access token with Files.Read permission" } } }, "output_schema": {} } ], "version": "1.0.0", "categories": [], "description": "" }
Forks
Watchers
Contributors
Last Push: 9/19/2025
Open Issues: 0