# MCP stack comparison

Public reference for choosing and combining 1C MCP servers.

## Overview

| Capability | 1C MCP Gateway (this project) | [EDT-MCP](https://github.com/DitriXNew/EDT-MCP) | [MCP-DB-Client / http1c](https://github.com/DitriXNew/MCP-DB-Client) |
|------------|------------------------------|--------------------------------------------------|------------------------------------------------------------------------|
| Hosted multi-tenant MCP | Yes (https://mwi.yatsuk.pro) | Local IDE | Local / self-hosted |
| Profiles, policy, approvals | Yes | No | Limited |
| Agent Result Loop | Yes | Partial (tests) | No |
| BSL index on Git/EDT export | Yes (native) | Yes (EDT workspace) | Via DB |
| Semantic search | SQLite FTS5 + TF-IDF rerank | Keyword / LSP | Embeddings (rcore) |
| Go-to-definition | Heuristic + BSL LS LSP | LSP native | N/A |
| Metadata refactor proposals | Yes (native write tools) | BM tools in EDT | No |
| OData read-only | Yes | No | Yes |
| UI smoke / screenshots | Yes | No | No |
| Billing / usage metering | Yes | No | No |

## Recommended combination

Use **all three in order**, not as alternatives:

1. **Gateway** — orchestration, context, patches, loop, production policy.
2. **EDT-MCP** — EDT-native tests and IDE-tied LSP when EDT is open.
3. **http1c** — optional embedding-heavy corpora when TF-IDF rerank is not enough.

See [TRI_STACK_MCP.md](./TRI_STACK_MCP.md) for `mcp.json` example.

## Native Context Edit (Gateway)

| Tool | Purpose |
|------|---------|
| `get_unified_context_for_task` | One-shot context pack |
| `bsl_go_to_definition` | LS + heuristic definition |
| `bsl_find_references` | LS + heuristic references |
| `bsl_get_call_hierarchy` | Call graph traversal |
| `form_get_layout_snapshot` | Layout tree + pages + bindings (JSON/YAML) |
| `preview_metadata_refactor_impact` | Rename/create/adopt impact |
| `propose_metadata_rename` | XML + folder move + BSL/form cascade |
| `create_symbol_patch` | Symbol body replacement |

## When not to add another MCP

If Gateway native tools cover the task (read context, propose patch, run loop), do not duplicate the same call on EDT-MCP or http1c.

## Related

- [GITHUB_PUBLISHING.md](./GITHUB_PUBLISHING.md) — open-source checklist
- [EDT_MCP_BRIDGE.md](./EDT_MCP_BRIDGE.md)
- [SEMANTIC_CONTEXT.md](./SEMANTIC_CONTEXT.md)
