Neuro MCP V2
Neuro MCP V2 is a local MCP server that extends Claude Desktop with persistent memory, sandboxed file I/O, live web search, and text analysis capabilities.
Read & Write Files — Read and write text files within a sandboxed
workspace/directory (with automatic directory creation), enabling Claude to reference and save documents, code, or notes securely.Store & Recall Persistent Memory — Store long-term semantic context, user preferences, and project insights into a local ChromaDB vector database, then retrieve them via semantic search so Claude can "remember" across sessions.
Live Web Search — Search the web via the Tavily API to fetch real-time answers, documentation, and news directly into Claude's context.
Analyze Text Emotion — Run a local DistilRoBERTa classification pipeline to detect emotional tone (Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral) with no external API calls.
Extract Entities — Extract structured entities (IPs, emails, URLs, monetary values) and classify operational intent from unstructured text using a zero-dependency NLP engine.
Summarize Documents — Condense long documents or web search results into key sentences using extractive keyword-frequency scoring.
Provides a local emotion analysis pipeline using a Hugging Face DistilRoBERTa model, capable of detecting semantic emotional markers (Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral) in text without external API latency.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Neuro MCP V2Remember that my project deadline is next Friday."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Neuro MCP V2
Description
Neuro MCP V2 is an advanced, production-grade local Model Context Protocol (MCP) server designed specifically for Claude Desktop. It supercharges Claude with a suite of agentic capabilities, bridging the gap between local execution and AI assistance using standard I/O (stdio) transport.
Related MCP server: MCP Document Indexer
Key Features
Persistent Semantic Memory: Utilizes local embedded ChromaDB to store, embed, and instantly recall user context and project insights across different chat sessions.
Sandboxed File System I/O: Safely reads and writes files asynchronously via
aiofileswithin a strict, path-traversal-protectedworkspace/directory.Live Web Research: Interacts with the Tavily Search API via
httpxto pull real-time data, documentation, and news directly into Claude's context window.Local Emotional Intelligence: Runs a localized Hugging Face DistilRoBERTa pipeline via
transformersandtorchto analyze the semantic emotional tone of text blocks with zero external API latency.Algorithmic Text Summarization: Compresses long documents and web search dumps using an extractive summarization engine based on normalized word-frequency scoring, instantly extracting key informational sentences to prevent LLM context window exhaustion.
Zero-Dependency Entity & Intent Extraction: Parses unstructured text records locally using a highly optimized, regex-based NLP engine to instantly extract critical parameters (IPs, emails, URLs, monetary bounds) and classify system operational intent.
Architecture & Tech Stack
Framework:
fastmcp(Official Python SDK for MCP)Package Management:
uv(Fast Python dependency resolution)Database:
chromadb(Serverless, local SQLite vector storage)Machine Learning:
transformers,torchAsync Operations:
aiofiles,httpx
Project Structure
neuro_mcp_v2/
├── .venv/
├── memory_db/
├── workspace/
├── .python-version
├── README.md
├── main.py
├── pyproject.toml
├── src/
├── mymcp/
├── server.py
├── tools/
├── emotion.py
├── fs_io.py
├── memory.py
├── websrch.py
├── extractor.py
├── summarize.py
├── utils/
├── security.py
├── uv.lockPrerequisites
Python: 3.10 or higher
Claude Desktop Application
Tavily API Key: For web search capabilities
Installation
Clone the repository and navigate to the project root. Sync the dependencies using uv:
uv syncCrucial Pre-flight Step: Run the server manually once to cache the Hugging Face emotion model (~300MB) locally and prevent Claude Desktop initialization timeouts:
uv run src/mymcp/server.pyPress Ctrl + C once the model finishes downloading.
Claude Desktop Configuration
To connect this server to Claude, edit your Claude Desktop configuration file (located at %APPDATA%\Claude\claude_desktop_config.json on Windows). [or simply go to Claude Desktop -> profile -> settings -> developer -> edit config option(if the mcp option is not shown automatically) -> make changes to the file that opens] Point the command to your project's absolute path and supply your API keys in the environment block:
{
"mcpServers": {
"neuro-mcp-v2": {
"command": "C:\\Absolute\\Path\\To\\second_mcp_server\\.venv\\Scripts\\python.exe",
"args": [
"C:\\Absolute\\Path\\To\\second_mcp_server\\src\\mymcp\\server.py"
],
"env": {
"PYTHONUTF8": "1",
"TAVILY_API_KEY": "your_tavily_api_key_here"
}
}
}
}Restart Claude Desktop entirely after updating this file. You should see the MCP plug icon appear in your chat window.
Security Notice
This application includes a workspace/ sandbox. The security middleware prevents the AI from reading or writing files outside of this specific directory to protect your local machine. Do not bypass the security.py checks.
License
This project is licensed under the MIT License.
Available Tools
6 toolsanalyze_text_emotionA
Locally run a deep learning classification pipeline to detect semantic emotional markers (Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral) inside a block of text. Use this to adapt your tone or better understand user sentiment.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the pipeline runs locally, which is a key behavioral trait, and lists the emotion labels. It does not detail performance or limitations, but the information is sufficient for a simple classification tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the main action and purpose. The first sentence is slightly long but clear. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to explain return values. It covers the input, the emotion categories, and a usage scenario. Basic edge cases are not addressed, but the tool's simplicity makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'text' has no schema description, and the schema coverage is 0%. The description adds context by referring to 'a block of text', but does not specify format, length, or encoding. It provides minimal added value beyond the type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a deep learning pipeline to detect semantic emotional markers, lists the specific emotions (Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral), and distinguishes it from sibling tools that handle file operations, memory, or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests usage for adapting tone or understanding user sentiment, but does not provide explicit when-not-to-use or alternatives. The context from sibling tools makes its purpose distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_workspace_fileA
Read the full text contents from a specific file strictly inside the sandboxed workspace folder. Use this to get context from previous documents or code files.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It states the file is read as full text and is restricted to the workspace folder, but does not mention error handling (e.g., file not found, permissions), encoding, or size limits. This leaves gaps for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words, and the most important information is front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema exists), the description covers the main purpose and scope. It lacks details on error behavior and security restrictions beyond 'sandboxed', but these are acceptable for a straightforward read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'file_path' with 0% description coverage. The description adds the constraint that the path must be 'strictly inside the sandboxed workspace folder', providing context beyond the schema. However, it does not specify path format (relative/absolute) or constraints, so it partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('read the full text contents'), the resource ('a specific file'), and the scope ('strictly inside the sandboxed workspace folder'). It also mentions typical use cases ('get context from previous documents or code files'), distinguishing it from sibling tools like write_workspace_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to get context from previous documents or code files', which gives a clear when-to-use. It does not directly state when not to use or name alternatives, but the sibling tools are distinct enough that the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recall_persistent_memoryA
Query the persistent vector database to recall past context, preferences, or project details. Use this to check if you have existing knowledge on a topic the user mentions.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| n_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it queries a persistent vector database, implying a read-only operation, but does not disclose limitations, privacy implications, or behavior when no results are found. With no annotations provided, the description carries the full burden; it provides basic context but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core action and usage guidance. Every word serves a purpose, achieving high conciseness without sacrificing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description adequately covers the tool's purpose and usage. It does not explain edge cases or result handling, but these are partially addressed by the output schema. The description is nearly complete for a recall tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, requiring the description to compensate for parameter meaning. However, the description does not mention the 'query' or 'n_results' parameters, leaving the agent to infer from names alone. This is insufficient when coverage is low.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as querying a persistent vector database to retrieve past context, preferences, or project details. It distinguishes itself from sibling tools like store_persistent_memory and tavily_web_search by specifying its recall function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use this tool: 'Use this to check if you have existing knowledge on a topic the user mentions.' This provides clear guidance on invocation context, differentiating it from storage or search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_persistent_memoryA
Store long-term semantic context or user preferences permanently in the vector database. Use this when the user explicitly asks you to remember something or when key insights are uncovered.
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | ||
| details | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Describes permanence but lacks details on overwrite behavior, idempotency, or potential effects on existing memories.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no unnecessary words. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and an output schema, description should mention return value or confirmation. Missing details on effect and response, though tool complexity is low.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. Description adds no meaning to 'concept' or 'details' beyond what is in the schema. Fails to explain what these parameters represent or how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (store), resource (long-term semantic context/user preferences), and permanence (in vector database). It effectively distinguishes from sibling tool recall_persistent_memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: when user asks to remember or key insights are uncovered. Could be improved by noting when not to use, but provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_web_searchB
Search the live web using the Tavily API for highly optimized real-time technical answers, documentation, news, or updates.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'live web' and 'highly optimized real-time' but fails to disclose behavioral traits like rate limits, authentication, response size, or whether it returns raw data or processed summaries. This is insufficient for an agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose without redundancy. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple signature (1 param) and an output schema (not shown), so description doesn't need to explain returns. However, it lacks details on result structure, pagination, or error handling, which are useful for completeness. Still adequate for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter 'query' with 0% schema description coverage. The description does not elaborate on the query format, length limits, or whether it supports natural language or specific syntax. The agent must infer meaning from 'Search the live web', which is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'live web using the Tavily API' for real-time technical answers, documentation, news, or updates. It distinguishes itself from siblings which are unrelated (emotion analysis, file operations, memory).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for real-time technical queries but lacks explicit guidance on when not to use it or alternatives. It does not specify limitations (e.g., not for non-technical topics) or context for choosing this over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_workspace_fileA
Write or overwrite text content to a specific file inside the sandboxed workspace folder. Automatically creates directories if they do not exist. Use this to save notes, code, or outputs.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| content | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the bare schema by noting automatic directory creation. However, it does not mention that content is overwritten without confirmation or discuss error handling, which would be useful given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences, ~25 words) and front-loaded with the primary action. Every sentence is informative with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers the main purpose and a key side effect. However, it lacks detail on overwrite behavior and return values (though an output schema may fill that gap). Overall adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It mentions file_path and content implicitly but does not add details like path format or content encoding, so it provides only marginal added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (write/overwrite text content), the resource (specific file), and the location (sandboxed workspace folder). It distinguishes from the sibling tool read_workspace_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit context for when to use the tool ('save notes, code, or outputs') and mentions the automatic directory creation behavior. However, it does not explicitly exclude scenarios or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.0- First observed
analyze_text_emotion - First observed
read_workspace_file - First observed
recall_persistent_memory - First observed
store_persistent_memory - First observed
tavily_web_search - First observed
write_workspace_file
TDQS
Each tool has a clearly distinct purpose: emotion analysis, file reading, memory recall, memory store, web search, and file writing. No overlap in functionality.
All tools follow a verb_noun pattern (e.g., analyze_text_emotion, read_workspace_file). The only minor deviation is 'tavily_web_search' which includes a brand name, but it still fits the pattern.
Six tools is well within the ideal 3-15 range. The tool count matches the server's purpose of providing a capable assistant with memory, file operations, web search, and emotion analysis.
Core operations are covered: file read/write, memory recall/store, web search, and text analysis. Minor gaps include lack of file deletion or memory deletion, but the set enables key workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides semantic memory and persistent storage for Claude, leveraging ChromaDB and sentence transformers for enhanced search and retrieval capabilities.31,927Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables real-time indexing and semantic search of local documents (PDF, Word, text, Markdown, RTF) using vector embeddings and local LLMs. Monitors folders for changes and provides natural language search capabilities through Claude Desktop integration.21MIT
- AlicenseAqualityAmaintenanceEnables local semantic search over documents and code for Claude Code and Claude Desktop, running entirely offline with local embeddings and vector storage.123MIT
- FlicenseNot gradedqualityCmaintenanceProvides Claude Desktop with persistent, structured memory and semantic search via a local SQLite knowledge graph, plus a web UI for visualization and management.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arks-06/neuro_mcp_v2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server