symbiopulse
SymbioPulse is an MCP-first context layer for AI coding agents that builds persistent project memory from directory fingerprints, task-to-file synapses, DNA constraints, and reusable skills, exposing it through MCP tools.
README
SymbioPulse: MCP-Native Neural Memory for Codebases
SymbioPulse is an MCP-first context layer for AI coding agents. It builds a persistent project memory from directory fingerprints, task-to-file synapses, DNA constraints, and reusable skills, then exposes that memory directly to mainstream agent clients through the Model Context Protocol.
The developer should only need to load the MCP server. Indexing, protocol injection, context assembly, and learning happen through MCP tool calls.
Visual Overview

Core Loop

- Environmental Pruning: Ignore runtime noise such as
.git,.symbio,.cursor, virtual environments, caches, build outputs, and dependency folders. - Directory Fingerprinting: Scan source directories and cache structural snowflake fingerprints in
.symbio/fingerprints.json. - Context Perception: Convert fingerprints into scent zones in
.symbio/scents.json. - Dormant Anticipation: The MCP runtime initializes itself on demand and waits for the agent's task.
- Resonance Matching:
sym_sniff(intent)first checks O(1) memory, then narrows the search to high-scent zones and ranks resonant files. - Synaptic Bonding:
sym_form_synapse(task, file_paths)binds exact intents, vocabulary antigens, and token memories to the files that solved the task. - Negative Feedback Regulation:
sym_add_dnaandsym_add_skillpersist constraints and reusable implementation knowledge for future tasks.
MCP Tools

| Tool | Purpose |
|---|---|
sym_sniff(intent) |
Primary context entry. Auto-initializes, refreshes stale indexes, returns target files, scent zones, fingerprints, DNA, skills, and feedback instructions. |
sym_check_dna(file_path) |
Returns architectural constraints that must be respected before editing a file. |
sym_form_synapse(task, file_paths) |
Records successful task-to-file bindings and strengthens file relations. |
sym_add_skill(file_path, skill_summary) |
Stores concise reusable knowledge about a file. |
sym_add_dna(target, rule) |
Stores durable constraints learned from mistakes or project rules. |
sym_fetch_dna() |
Returns all recorded DNA constraints. |
sym_status() |
Shows current memory, scent, fingerprint, and skill counts. |
sym_initialize() |
Forces initialization and protocol injection. Usually optional because tools self-initialize. |
sym_reindex() |
Forces a full project reindex. |
Agent Support
SymbioPulse is not Cursor-specific. The MCP runtime writes lightweight protocol files for mainstream coding agents so each client receives the same behavioral contract:
| Agent surface | Protocol file |
|---|---|
| Codex / OpenAI agents | AGENTS.md |
| Claude Code | CLAUDE.md |
| Gemini agents | GEMINI.md |
| Cursor | .cursor/rules/symbiopulse.mdc, .cursorrules |
| GitHub Copilot | .github/copilot-instructions.md |
| Windsurf | .windsurfrules |
| Cline | .clinerules |
Each file points the agent to the same MCP-first workflow: sniff first, check DNA before edits, form synapses after successful work, and record reusable skills or durable constraints.
If a protocol file already exists in the user's project, SymbioPulse preserves the user's content and only appends or refreshes a marked managed block:
<!-- symbiopulse:managed:start -->
...
<!-- symbiopulse:managed:end -->
Content outside that block is never rewritten by protocol injection.
Runtime State

SymbioPulse writes project-local memory under .symbio/:
scents.json: directory scent map.fingerprints.json: structural directory fingerprints.synapses.json: exact, antigen, and token task memories.relations.json: file-to-file affinity graph.dna.json: project constraints.skills.json: learned file summaries.
The MCP runtime also writes lightweight agent protocol files so compatible agents know to sniff first, check DNA before edits, and form synapses after successful work.
Architecture
- Neural Core:
.symbiostate, synapses, DNA, relations, and fingerprints. - Olfactory Engine: source pruning, directory scanning, static symbol extraction, and optional LLM-enhanced scent keywords.
- Resonator Engine: file-level resonance ranking inside scented zones.
- Autonomous MCP Runtime: self-initialization, freshness checks, protocol injection, context assembly, and learning tools.
There is no separate user-facing workflow or background watcher. MCP is the product surface.
Installation
Requirements
- Python package runtime:
>=3.8. - Verified development environment: Python
3.13.13on Windows. - Recommended launcher for Cursor and other stdio MCP clients:
uvxfromuv.
Install uv on Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Restart Cursor after installing uv so the GUI process can see uvx on PATH.
Cursor / MCP Clients
{
"mcpServers": {
"symbiopulse": {
"command": "uvx",
"args": ["--from", "symbiopulse", "sym-mcp"]
}
}
}
If Cursor cannot find uvx, use the absolute executable path returned by:
Get-Command uvx
Local Development
pip install -e .
sym-mcp
Enable optional LLM-enhanced semantic scent generation only when needed:
pip install -e ".[semantic]"
The default package intentionally does not install litellm; static fingerprints and fallback keywords work without it, and first-run MCP startup stays lighter.
Smoke Tests In Cursor
After adding .cursor/mcp.json, ask Cursor to verify the server once:
Use the symbiopulse MCP server to run sym_status and show the raw result.
Expected result shape:
SymbioPulse Status:
- Synapses: 0
- DNA Rules: 0
- Scent Zones: ...
- Directory Fingerprints: ...
- Skills: 0
Then test automatic usage without mentioning SymbioPulse:
Find the authentication entry files in this project. Do not modify files.
Expected behavior: Cursor should run sym_sniff first, then continue with native search only if it needs more detail. After the answer, it should call sym_form_synapse with the files that mattered.
Validate project rules:
Record a project rule: page components must not access localStorage directly; use the storage service instead.
Then ask for a change that would violate it:
Add direct localStorage access in a page component.
Expected behavior: before editing, the agent should call sym_check_dna and avoid violating the recorded DNA rule.
Troubleshooting
'uvx' is not recognized as an internal or external command
- Install
uv, restart Cursor, or setcommandto the absoluteuvx.exepath.
Cursor logs dependency downloads as [error]
- Lines like
Downloading pydantic-core,Downloading pywin32, orDownloaded pygmentsare often install progress printed on stderr, not a server failure. Wait for the first install to finish and avoid repeated reloads.
Cursor still injects the old protocol text
- Include
--refreshin theuvxargs once to force a clean tool environment:
{
"mcpServers": {
"symbiopulse": {
"command": "uvx",
"args": ["--refresh", "--from", "symbiopulse", "sym-mcp"]
}
}
}
- Run
sym_initializeonce so the managed protocol block is refreshed. - Check that
.cursor/rules/symbiopulse.mdccontains## Mandatory Tool Use, not the old## Required Workflow.
pip appears to hang and ends with KeyboardInterrupt
- The command was interrupted before installation completed. Re-run it inside the activated virtual environment:
python -m pip install --upgrade build twine
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.