Skip to main content
Glama
AvaTar-ArTs

Ecosystem Intelligence MCP

by AvaTar-ArTs

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 start

The 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 tools
analyze_projectAnalyze a projectA
Read-only

Infer a project purpose and capabilities from bounded local evidence, with confidence, evidence paths, readiness, and safety details.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path inside an approved root

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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 rootsA
Read-only

List the explicitly configured directories this server is allowed to inspect. Does not scan file contents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 fileA
Read-only

Read a small recognized text file inside an approved root with sensitive-path filtering and redaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path inside an approved root

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 projectA
Read-only

Return a bounded, read-only structural summary for a directory inside an approved root.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoAbsolute path inside an approved root.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 4 tool updatesv0.2.0
    • First observedanalyze_project
    • First observedinventory_roots
    • First observedread_project_file
    • First observedsummarize_project

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    -
  • F
    license
    B
    quality
    D
    maintenance
    Provides 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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    5
    MIT