Ecosystem Intelligence MCP
Click on "Deploy 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., "@Ecosystem Intelligence MCPanalyze the project in ~/dev/myapp"
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.
Ecosystem Intelligence MCP
A sellable prototype for bounded, read-only understanding of local project directories. It is designed to help an AI assistant inventory projects, identify technology markers, and read selected text files without executing code or exposing arbitrary filesystem paths.
Product documents
Related MCP server: LocalFS MCP Server
Tools
inventory_roots— shows the configured allowlist.summarize_project— bounded directory structure, file counts, extensions, markers, and representative text-file paths.read_project_file— reads a small recognized text/project file under an approved root with sensitive-path filtering and redaction.analyze_project— infers purpose and capabilities from bounded evidence, with confidence, readiness, unknowns, and safety metadata.
It also exposes ecosystem://policy as a resource describing the safety model.
Run locally
npm install
ECOSYSTEM_ROOTS="$HOME/Documents" npm startThe server communicates over MCP stdio. It does not execute project code, mutate files, follow symlink escapes, inspect unconfigured roots, or read arbitrary binary files. Common sensitive paths are excluded and common secret patterns are redacted.
Package direction
manifest.json is MCPB-ready for a future downloadable bundle. Before selling, add signed release artifacts, a privacy policy, support documentation, a second platform test, and a hosted/paid tier only after validating demand.
Product boundary
The commercial moat should be the interpretation layer: project-purpose extraction, capability overlap, maturity scoring, and actionable productization recommendations. Keep those higher-level features separate from the local filesystem adapter so the product can later support uploaded manifests, Git repositories, or a hosted service.
Available Tools
4 toolsanalyze_projectAnalyze a projectARead-only
Infer a project purpose and capabilities from bounded local evidence, with confidence, evidence paths, readiness, and safety details.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path inside an approved root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations by explaining that the tool works with 'bounded local evidence' and produces confidence levels, evidence paths, readiness, and safety details. This is consistent with readOnlyHint=true and provides useful insight into the tool's operation and outputs.
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 front-loaded sentence that efficiently conveys the tool's purpose and key output aspects without unnecessary words or repetition.
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?
For a read-only tool with one parameter and strong annotations, the description is fairly complete: it explains the inference scope and the types of outputs (confidence, evidence paths, readiness, safety details). However, it lacks explicit usage guidance relative to sibling tools, which is a notable gap given there is no output schema.
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 schema already fully describes the single parameter 'path' with 100% coverage, including its meaning ('Absolute path inside an approved root'). The description does not add further parameter-specific detail, so it meets the baseline for schema-dominated parameter semantics.
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 uses a specific verb 'Infer' and identifies the resource as 'project purpose and capabilities' with a clear scope ('from bounded local evidence'). It also lists the output dimensions (confidence, evidence paths, readiness, safety details), which distinguishes it from sibling tools like summarize_project or read_project_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 provides no explicit guidance on when to use analyze_project versus its siblings. It does not mention alternatives, exclusions, or prerequisites beyond what the schema already states about the path. Usage must be inferred from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inventory_rootsInventory approved rootsARead-only
List the explicitly configured directories this server is allowed to inspect. Does not scan file contents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds the meaningful constraint 'Does not scan file contents,' which clarifies that the tool only returns directory paths and does not inspect contents. This goes beyond the annotation's read-only flag by describing operational scope, adding genuine value.
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 and directly conveys the tool's purpose and limitation. Every word serves a distinct function: it states the action ('List'), the object ('directories'), the scope ('explicitly configured'), and the non-behavior ('Does not scan file contents'). No waste or redundancy.
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—no parameters, no output schema, and a single clear function—the description fully covers what an agent needs: what the tool returns (root directories) and what it does not do (scan contents). The sibling tools suggest broader analysis, so this narrow scope is appropriately complete.
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 tool has zero parameters, so there is no parameter burden on the description. The baseline for no parameters is 4, and the description does not need to add extra parameter details. It correctly focuses on the tool's behavior rather than parameter explanations.
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 uses a specific verb ('List') and clearly identifies the resource ('explicitly configured directories this server is allowed to inspect'). It distinguishes itself from sibling tools like summarize_project and analyze_project by focusing on allowed inspection roots rather than content analysis.
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 provides clear context for when to use the tool: to list approved root directories. It also notes the limitation 'Does not scan file contents,' implying use only when directory names are needed, not file-level inspection. However, it does not explicitly name alternatives or exclude specific use cases, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_project_fileRead a project fileARead-only
Read a small recognized text file inside an approved root with sensitive-path filtering and redaction.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path inside an approved root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds important behavioral context: sensitive-path filtering and redaction. This discloses that output may be filtered or redacted, which is valuable beyond the structured annotations. No contradiction.
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 sentence that front-loads the core action and constraining criteria. Every phrase (small, recognized, inside approved root, filtering, redaction) earns its place, making it compact and information-dense.
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?
For a one-parameter read-only tool with annotations and no output schema, the description covers the essential purpose and key behavioral qualifiers. It could be more explicit about what counts as 'recognized' or the size limit, but given the tool's simplicity and existing annotations, it is sufficiently complete.
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 already fully describes the single parameter 'path' as 'Absolute path inside an approved root' (100% coverage). The description adds context that the path refers to a small recognized text file, but does not provide additional syntax or format details, so it meets the baseline for well-covered schemas without going beyond.
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 ('Read'), the target ('small recognized text file'), and the scope ('inside an approved root'), with additional qualifiers ('sensitive-path filtering and redaction') that distinguish it from sibling tools like analyze_project or summarize_project.
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 appropriate use for reading small recognized text files within approved roots, and the readOnlyHint annotation confirms it's a safe read operation. However, it does not explicitly state when to prefer this tool over siblings or provide exclusions, so it provides clear context but no explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_projectSummarize a projectARead-only
Return a bounded, read-only structural summary for a directory inside an approved root.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute path inside an approved root | . |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, which is repeated in the description. The description adds the term 'bounded' (suggesting output limits) and 'structural summary' (indicating the nature of the result), but it does not disclose behavior for invalid paths or detailed output structure. This is slightly more than annotation repetition, but still limited.
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, front-loaded sentence that efficiently states the tool's purpose and constraints. Every word adds value with no repetition or filler.
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?
For a simple tool with one optional parameter and no output schema, the description adequately conveys purpose and scope. The term 'structural summary' is somewhat vague, and no output format is described, but given the tool's simplicity, it is reasonably complete.
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 schema fully describes the single 'path' parameter (100% coverage), and the description does not add additional semantic details beyond what is in the schema. The baseline of 3 applies because schema covers the parameter.
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 (Return), the resource (a directory), and the outcome (a structural summary). It distinguishes itself from siblings like read_project_file (which reads files) and analyze_project (which likely performs deeper analysis) by focusing on a bounded, structural summary.
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 provides clear context: use this to get a structural summary of a directory within an approved root. However, it does not explicitly mention when to use this tool instead of alternatives like analyze_project, nor does it state exclusions. The usage guidance is implied rather than explicit.
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.
4 tool updates
v0.2.0- First observed
analyze_project - First observed
inventory_roots - First observed
read_project_file - First observed
summarize_project
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: listing roots, summarizing projects, reading files, and analyzing project purpose. There is no overlap or ambiguity between them.
All tool names follow the consistent verb_noun pattern in snake_case (inventory_roots, summarize_project, read_project_file, analyze_project). This makes the API predictable and easy to navigate.
With only 4 tools, the server is tightly scoped to its purpose of inspecting and analyzing projects. Each tool is essential and there is no bloat.
The tool surface covers the full workflow: discover roots, summarize structure, read specific files, and derive an analysis. No obvious missing operations for the stated domain.
Maintenance
Related MCP Connectors
Run verified read-only code tools: quant diagnostics + agent-ops preflight, no source exposure.
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
Hosted Python sandbox for package runtime verification: pip install and usable-import evidence.
Read-only AI project discovery, verification, comparison, shortlisting, and stack planning.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides secure, sandboxed file system access for AI assistants to read, write, and manage project files with controlled command execution capabilities, all confined to a designated workspace directory.MIT
- FlicenseNot gradedqualityDmaintenanceProvides sandboxed access to local filesystem operations including directory and file management, content search with glob and regex patterns, and binary file support with configurable safety limits.-
- FlicenseBqualityDmaintenanceProvides LLMs with safe, read-only access to local codebases for searching, reading files, and finding function definitions. All source code remains local, ensuring privacy while enabling AI assistants to explore project structures and functionality.4-
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with secure, read-only file system access to analyze and understand project codebases, enabling multi-repository context aggregation and cross-project code tracing.5MIT