agentflow-mcp
agentflow-mcp
agentflow 데모 파이프라인을 위한 엔터프라이즈 아키텍처 지식 MCP 서버입니다. FastMCP + TypeScript로 구축되었으며 GCP Cloud Run에 배포됩니다.
이 서버는 아키텍처 에이전트(Architecture Agent)와 리스크 체커 에이전트(Risk Checker Agent)가 일반적인 LLM 추론 대신 선별된 엔터프라이즈 패턴에 기반하도록 하는 네 가지 도구를 제공합니다.
도구 | 호출 주체 | 반환 내용 |
| 아키텍트 에이전트 | 참조 아키텍처 패턴, 컴포넌트, 다이어그램 데이터 |
| 아키텍트 에이전트 | 제약 인지 추론을 포함한 플랫폼 추천 |
| 리스크 체커 에이전트 | 필수 통제 항목, 리스크 플래그, HITL 트리거 |
| 아키텍트 에이전트 | 회사 정체성, 포지셔닝, 로고(Brandfetch + logo.dev 경유) |
전체 구성에서의 역할
agentflow pipeline agentflow-mcp
┌──────────────────────┐ ┌───────────────────────┐
│ Qualifier Agent │ │ arch_pattern_lookup │
│ - clarifies the ask │ │ tool_selection_lookup │
└──────┬───────────────┘ │ risk_policy_lookup │
│ handoff │ brand_context_lookup │
┌──────▼───────────────┐ │ │
│ Architect Agent │──── MCP calls ───▶│ Source pack (data/) │
│ - pattern selection │ │ 102 markdown files │
│ - tool selection │◀── JSON response ─│ with YAML frontmatter │
│ - diagram rendering │ │ │
└──────┬───────────────┘ │ Brandfetch + logo.dev │
│ handoff │ (cached, additive) │
┌──────▼───────────────┐ └───────────────────────┘
│ Risk Checker Agent │──── risk_policy_lookup ──▶
│ - HITL gate trigger │◀── risk_flags, HITL ──
└──────────────────────┘MCP는 에이전트 오케스트레이터가 아니라 **도구 제공자(tool provider)**입니다. 에이전트 프롬프트와 아키텍처 다이어그램 스킬은 agentflow 프로젝트에 있습니다. MCP는 구조화된 데이터를 제공하고, 에이전트는 이를 해석하고 실행합니다.
Related MCP server: MCP Architect
빠른 시작
사전 요구 사항
Node.js >= 20
(선택 사항)
brand_context_lookup을 위한 Brandfetch API 키 및 logo.dev 키
설치 및 실행
npm install
npm run dev # stdio transport (local dev + MCP Inspector)HTTP 전송(Cloud Run)
MCP_TRANSPORT=http-stream PORT=8080 npm run dev
# agentflow-mcp listening on http://0.0.0.0:8080/mcp테스트 실행
npm test # 31 unit + integration tests
npm run typecheck # tsc --noEmit
npm run check # biome lint + format환경 변수
.env.example을 .env로 복사하고 키를 입력하세요. 외부 API 키가 필요한 것은 brand_context_lookup뿐입니다. 나머지 세 도구는 소스 팩을 통해 오프라인에서 작동합니다.
변수 | 사용처 | 용도 |
|
| Brandfetch Brand Context API의 Bearer 토큰 |
|
| logo.dev Brand API의 Bearer 토큰 |
|
| logo.dev CDN URL용 공개 키 |
| 서버 |
|
| 서버 | HTTP 포트(기본값 8080, 전송이 |
API 키가 없으면 brand_context_lookup은 캐시된 도메인에 대해 캐시된 응답을 반환하고, 캐시되지 않은 도메인에 대해서는 정상적인 처리(graceful) 방식의 사용 불가 응답을 반환합니다. 나머지 세 도구는 계속 정상 작동합니다.
도구
arch_pattern_lookup
엔터프라이즈 요구 사항을 선별된 참조 아키텍처 패턴과 매칭합니다.
입력:
{
"industry": "media_agency",
"data_stack": ["BigQuery", "Snowflake"],
"cloud": "GCP",
"constraints": ["SAML SSO", "EU data residency", "cross-client governance"],
"latency": "batch"
}출력:
{
"pattern_id": "media_agency_audience_measurement",
"architecture_summary": "...",
"recommended_components": ["BigQuery", "Snowflake", "SAML SSO", "GCP EU Region"],
"data_zones": ["bronze", "silver", "gold"],
"integration_notes": ["..."],
"confidence": 0.87,
"diagram_data": {
"components": [{ "name": "BigQuery", "type": "database", "sublabel": "...", "zone": "gold" }],
"connections": [{ "from": "Users", "to": "SAML SSO", "label": "OAuth 2.0", "style": "dashed" }],
"boundaries": [{ "label": "GCP EU Region", "type": "region" }]
},
"source_references": [{ "path": "data/patterns/...", "title": "...", "source_url": "..." }]
}매칭 로직: 결정적이면서 규칙 기반입니다. 산업 매칭(40%) → 데이터 스택 중첩(30%) → 제약 충족도(30%) 순으로 확인합니다. 선별된 매칭(신뢰도 >= 0.85)에는 diagram_data와 소스 참조가 포함됩니다. 약한 매칭은 신뢰도 < 0.5인 일반적인 엔터프라이즈 AI POC 패턴으로 폴백됩니다.
tool_selection_lookup
워크로드, 데이터 스택, 제약 조건 및 지연 시간을 기반으로 플랫폼을 추천합니다.
입력:
{
"use_case": "AI-powered patient insights",
"data_stack": ["Databricks"],
"constraints": ["HIPAA", "PHI", "US data residency"],
"latency": "batch"
}출력:
{
"recommended_platform": "Databricks",
"cloud_fit": "Azure or AWS",
"reasoning": "Strong lakehouse fit for healthcare AI with HIPAA-compliant governance...",
"alternatives": [{ "platform": "Snowflake", "rationale": "..." }, { "platform": "BigQuery", "rationale": "..." }]
}risk_policy_lookup
규제 데이터에 대한 HITL 트리거를 비롯해 산업별 리스크 및 거버넌스 검사 항목을 반환합니다.
입력:
{
"industry": "healthcare",
"data_classification": ["PHI", "PII"],
"region": "US",
"deployment": "cloud",
"constraints": ["HIPAA"]
}출력:
{
"required_controls": ["RBAC", "audit logs", "data lineage", "SAML SSO"],
"risk_flags": ["prompt leakage", "overbroad analyst access"],
"hitl_required": true,
"review_reason": "PHI access requires human approval before final architecture signoff"
}HITL는 PHI, PII, 규제 금융 데이터 같은 규제 대상 데이터 유형에 대해 사람이 읽을 수 있는 review_reason과 함께 트리거됩니다.
brand_context_lookup
계층형 캐싱을 적용하여 Brandfetch에서 풍부한 회사 컨텍스트를, logo.dev에서 로고를 가져옵니다.
입력:
{
"domain": "havas.com"
}출력:
{
"company_name": "Havas",
"domain": "havas.com",
"industry_hint": "media_agency",
"description": "...",
"tags": ["advertising", "marketing", "media"],
"positioning": { "value_proposition": "...", "target_audience": "...", "products_and_services": "..." },
"brand": { "voice": "...", "style": "..." },
"logo_url": "https://...",
"confidence": 0.85
}캐싱 계층: (1) 즉시 캐시 전용 조회를 위한 Brandfetch의 cachedOnly=true, (2) TTL이 적용된 로컬 파일 캐시. 반복 조회는 API 할당량을 소모하지 않고 캐시된 데이터를 반환합니다. API에 접근할 수 없을 때는 정상적으로 폴백됩니다.
소스 팩
data/ 디렉터리에는 구조화된 YAML frontmatter를 가진 마크다운(Markdown) 파일 102개가 포함되어 있으며, 다음과 같이 구성됩니다.
data/
├── industry/ # Industry-specific architecture notes
├── vendors/ # Vendor documentation (GCP, AWS, Azure, Snowflake, Databricks)
└── patterns/ # Curated reference architecture patterns (4 demo scenarios)Frontmatter 필드: type, title, source_url, vendor, industry, data_stack, cloud, constraints, compliance, region, data_zones, latency, pattern_id, architecture_summary, recommended_components, integration_notes, confidence_baseline, diagram_data.
소스 팩은 서버 시작 시 인메모리 인덱스로 로드되며, industry, data stack, constraints, pattern_id 기준으로 색인됩니다.
데모 시나리오
시나리오 | 산업 | 패턴 ID |
미디어 에이전시 오디언스 측정 |
|
|
헬스케어 환자 인사이트 |
|
|
리테일 레이크하우스 개인화 |
|
|
FSI 거버넌스 코파일럿 |
|
|
배포
Docker
docker build -t agentflow-mcp .
docker run -p 8080:8080 agentflow-mcpGCP Cloud Run
gcloud run deploy agentflow-mcp \
--source . \
--region run.googleapis.com \
--port 8080 \
--set-env-vars "MCP_TRANSPORT=http-stream" \
--set-secrets "BRANDFETCH_API_KEY=brandfetch-api-key:latest,LOGO_DEV_SECRET_KEY=logo-dev-secret-key:latest,LOGO_DEV_PUBLISHABLE_KEY=logo-dev-publishable-key:latest"전체 서비스 구성은 cloud-run.yaml에서 확인할 수 있습니다.
Google App Engine
App Engine Standard는 빌드 단계를 실행하지 않으므로 먼저 로컬에서 컴파일한 후 배포합니다.
npm run build # compile src/ -> dist/
# (Optional) Warm brand cache for demo domains before deploy
npx tsx scripts/brand-cache-warm.ts
gcloud app deploy # deploys with dist/ and data/ includedapp.yaml은 MCP_TRANSPORT=http-stream으로 설정하며, 유휴 상태일 때는 0으로 스케일링됩니다(데모에 더 저렴). App Engine은 PORT를 자동으로 설정하며, 서버는 이미 이것을 읽습니다.
시크릿은 Secret Manager 사용합니다.
# Create secrets
gcloud secrets create brandfetch-api-key --data-file=<(echo -n "$BRANDFETCH_API_KEY")
gcloud secrets create logo-dev-secret-key --data-file=<(echo -n "$LOGO_DEV_SECRET_KEY")
gcloud secrets create logo-dev-publishable-key --data-file=<(echo -n "$LOGO_DEV_PUBLISHABLE_KEY")
# Reference them in app.yaml (uncomment the includes: section)전체 구성은 app.yaml과 .gcloudignore에서 확인하세요.
스크립트
스크립트 | 용도 |
|
|
| 소스 팩 파일의 frontmatter 생성 |
| 네 도구가 모두 MCP 도구 목록에 표시되는지 확인 |
| 네 데모 도메인에 대한 브랜드 캐시 사전 로드 |
npx tsx scripts/validate-source-pack.ts # validate source pack
npx tsx scripts/mcp-list-check.ts # verify tool discovery
npx tsx scripts/brand-cache-warm.ts # warm brand cacheMCP Inspector로 테스트
npx @modelcontextprotocol/inspector npm run dev이 명령은 MCP Inspector UI가 실행하며, 여기서 도구를 대화형으로 호출하고 응답을 확인할 수 있습니다.
프로젝트 구조
agentflow-mcp/
├── src/
│ ├── index.ts # MCP server entry point (stdio + http-stream)
│ ├── tools/
│ │ ├── archPatternLookup.ts # Pattern matching + confidence scoring
│ │ ├── toolSelectionLookup.ts # Platform recommendation
│ │ ├── riskPolicyLookup.ts # Risk/governance checks + HITL
│ │ └── brandContextLookup.ts # Brandfetch + logo.dev with caching
│ ├── data/
│ │ ├── loader.ts # Source pack parser + in-memory index
│ │ ├── brandfetchClient.ts # Brandfetch Brand Context API client
│ │ ├── logoDevClient.ts # logo.dev Brand API client
│ │ └── brandCache.ts # Local file cache with TTL
│ └── types/
│ ├── source.ts # Source pack entry types
│ ├── arch-pattern.ts # arch_pattern_lookup types
│ ├── tool-selection.ts # tool_selection_lookup types
│ ├── risk-policy.ts # risk_policy_lookup types
│ └── brand-context.ts # brand_context_lookup types
├── data/ # Source pack (102 markdown files)
│ ├── industry/
│ ├── vendors/
│ └── patterns/
├── tests/ # Unit + integration tests
├── docs/ # PRD, MCP overview
├── scripts/ # Validation + cache warming scripts
├── openspec/ # OpenSpec specs (4 capabilities)
│ ├── specs/ # Main specs (synced from archived change)
│ └── changes/archive/ # Archived change proposals
├── Dockerfile # Multi-stage build for Cloud Run
├── cloud-run.yaml # Cloud Run service config
└── package.json기술 스택
런타임: Node.js >= 20
MCP 프레임워크: FastMCP v4
언어: TypeScript(엄격 모드)
검증: Zod v4
린트/포맷팅: Biome
테스트: Node.js 내장 테스트 러너
배포: Docker + GCP Cloud Run
OpenSpec
이 프로젝트는 스펙 기반 개발을 위해 OpenSpec을 사용합니다. 네 가지 도구 기능은 openspec/specs/ 아래에 정의되어 있습니다.
arch-pattern-lookup(요구 사항 7개)brand-context-lookup(요구 사항 6개)risk-policy-lookup(요구 사항 4개)tool-selection-lookup(요구 사항 5개)
스펙 검증은 다음 명령으로 합니다.
openspec validate --specs
openspec doctor라이선스
MIT
Available Tools
4 toolsarch_pattern_lookupA
Match an enterprise ask (industry, data stack, cloud, constraints) to a curated reference architecture pattern with components, data zones, integration notes, confidence, and diagram-ready data.
| Name | Required | Description | Default |
|---|---|---|---|
| cloud | No | Cloud preference, e.g. GCP, AWS, Azure | |
| latency | No | Latency expectation: batch or real-time | |
| industry | Yes | Industry code, e.g. media_agency, healthcare, retail, financial_services | |
| data_stack | Yes | Candidate platforms/tools, e.g. ["BigQuery", "Snowflake"] | |
| constraints | Yes | Governance/compliance constraints, e.g. ["SAML SSO", "EU data residency"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of explaining behavior. It discloses that the result is a curated, confidence-scored pattern rather than an unranked list. It does not detail no-match behaviors or side-effect safety, but the lookup-oriented naming and output-focused description make behavior reasonably transparent.
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 one information-dense sentence with no filler. It front-loads the core matching behavior, then lists the key outputs. It is compact and scannable, though the full list of outputs makes the sentence slightly long.
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 lookup-oriented tool with no output schema and no annotations, the description adequately explains what inputs shape the match and what the caller receives. It does not cover edge cases like no matching pattern, confidence representation, or return structure, preventing a 5.
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?
All five parameters are already described in the schema with 100% coverage, so a baseline 2 is appropriate. The description only lightly reinforces the input dimensions and does not add material relationships or format details beyond the schema.
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, 'Match', and a resource, 'reference architecture pattern', and identifies the output categories it returns. This clearly distinguishes it from sibling lookup tools like brand_context_lookup and tool_selection_lookup, which target different lookups.
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 clearly frames the use case: matching an enterprise ask with industry, data stack, cloud, and constraints to a reference architecture. It does not explicitly exclude or compare against sibling tools, but the intended context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_context_lookupA
Retrieve company brand context (name, description, tags, positioning, brand voice/style, logo URL) for a resolved domain, from Brandfetch plus logo.dev. Serves cached data when the sources are unavailable. Resolve partial company names to a domain before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Resolved company domain, e.g. "havas.com" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It adds useful behavioral context: the tool sources from Brandfetch plus logo.dev, and serves cached data when sources are unavailable. It could say more about return behavior or failure handling, but this is solid disclosure for a simple retrieval 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?
Three short sentences with no wasted words. The main purpose is front-loaded, parameters/sources/usage-prerequisite are each given their own concise sentence.
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 description is sufficient for a simple one-parameter read tool. It names the output fields, the source, the fallback cache behavior, and the required input format. A minor gap is the lack of any statement about what happens when no brand context exists for the domain.
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 coverage is 100%, so baseline is 3. The description adds meaning by emphasizing that the domain must be a resolved company domain rather than a partial name, which goes beyond the schema's simple 'string' definition.
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 ('Retrieve'), a clear resource ('company brand context'), and enumerates the exact fields returned. It also specifies the source and input requirement ('resolved domain'), which clearly separates it from the sibling tools by topic.
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 gives a clear prerequisite: resolve partial company names to a domain before calling. It does not explicitly name alternatives or state when not to use it, but the domain-required condition provides sufficiently clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
risk_policy_lookupA
Return required controls, risk flags, and human-in-the-loop triggers for an architecture based on industry, data classification (PHI, PII, regulated financial data), region, deployment model, and governance constraints.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | Data region, e.g. US or EU | |
| industry | Yes | Industry, e.g. healthcare, financial_services, media_agency, retail | |
| deployment | Yes | Deployment model: cloud, on-prem, or hybrid | |
| constraints | No | Governance constraints from the architecture brief, e.g. ["cross-client governance", "EU data residency"] | |
| data_classification | Yes | Data classifications in scope, e.g. ["PHI", "PII"], ["regulated financial data"], ["non-sensitive"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It surfaces that the tool computes/returns policy-derived values and maps inputs to outputs, which is genuinely informative, but it doesn't say whether the data is static, whether lookups can return empty/no-match results, or whether governance constraints are validated at runtime. 3 is fair.
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?
One dense sentence with a heavy enumerative tail, but every phrase contributes. Front-loads the return value ('required controls, risk flags...') before diving into the lookup axes. Slightly long but not bloated; the enumeration is useful.
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 lookup tool with 5 params, 100% schema coverage, and no output schema, the description covers the key decision context (what it returns and on what basis). It doesn't state the output shape, but with no output schema that gap is mostly acceptable, though adding 'returns a list of policy items' would make it 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 documents every parameter with 100% coverage, so the baseline is 3 per the rubric. The description clarifies the semantic intent behind the parameters as a group (industry/classification/region/deployment drive policy), but adds no individual parameter details beyond the schema.
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?
States a specific verb ('Return') and a specific resource ('required controls, risk flags, and human-in-the-loop triggers for an architecture') and enumerates the dimensions the lookup is based on, clearly distinguishing it from sibling lookup tools such as brand_context_lookup or arch_pattern_lookup. The scope is explicit enough that an agent can tell when to reach for this tool instead of the others.
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 clearly implies this tool is for policy/risk-oriented lookups and lists the exact inputs that drive the lookup, which gives strong context on when to use it. The only thing missing is an explicit 'use this instead of X when...' statement, but the sibling names (brand_context_lookup, arch_pattern_lookup) are distinguishable from the plain wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tool_selection_lookupA
Recommend a data platform based on use case, data stack, constraints (HIPAA, PII, data residency, SSO/SAML), and latency needs — with cloud fit, reasoning, and alternatives.
| Name | Required | Description | Default |
|---|---|---|---|
| latency | No | Latency need: batch or real-time | |
| use_case | Yes | What the enterprise wants to build, e.g. "AI-powered patient insights" | |
| data_stack | Yes | Platforms/tools in play or under consideration | |
| constraints | Yes | Governance/compliance constraints |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses that the tool will return 'cloud fit, reasoning, and alternatives,' which gives some behavioral shape, but it does not clarify whether it performs external calls, returns mock versus curated answers, or has any side effects. It describes inputs/outputs but not deeper 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?
A single, dense sentence lists all inputs and outputs without waste. It front-loads the verb and target, and every phrase earns its place. The semi-colon-separated output list is clear to parse.
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 description is sufficient for an agent to prepare the required fields and know what kind of response to expect (recommendation with cloud fit, reasoning, alternatives). Since there is no output schema, describing the response at this level helps. It could add the expected result shape or a mention of staleness provenance, but this is minor.
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 100%, so the baseline is 3. The description adds meaning by expanding 'constraints' with examples (HIPAA, PII, data residency, SSO/SAML) and by flagging latency as an additional decision factor. This goes beyond the literal schema descriptions and helps an agent populate parameters accurately.
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 names a concrete verb, 'Recommend', and a specific resource, 'data platform', and enumerates the decision inputs and outputs (cloud fit, reasoning, alternatives). This clearly differentiates the tool from siblings like arch_pattern_lookup and risk_policy_lookup, which concern different domains.
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 frames when to use this tool: when the agent needs a data platform recommendation given use case, data stack, and constraints. It doesn't explicitly mention alternative tools or exclusions, but the context is clear enough. Sibling names also make the separation obvious.
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.1.0- First observed
arch_pattern_lookup - First observed
brand_context_lookup - First observed
risk_policy_lookup - First observed
tool_selection_lookup
TDQS
Scored across 4 tools
Each tool targets a distinct outcome: architecture pattern, brand info, platform recommendation, and risk controls. There is some conceptual overlap between architecture patterns and tool/risk recommendations, but the descriptions make their outputs clear enough to avoid major misselection.
All tool names follow the same clear `entity_lookup` pattern in lowercase snake_case: arch_pattern_lookup, brand_context_lookup, tool_selection_lookup, risk_policy_lookup. This makes the server feel uniform and predictable.
With only 4 focused lookup tools, the server is tightly scoped and does not introduce redundancy. Each tool serves a distinct functional need, making this an appropriate small toolset.
The server covers the major lookup categories it appears designed for: architecture, brand, platform, and policy. It is slightly limited by the lack of any listing or browsing endpoint for available patterns/platforms, but for a retrieval-oriented tool set the core coverage is strong.
Maintenance
Related MCP Connectors
Shared business knowledge, tools and skills for AI agents, with citations and approval controls.
Shared, permission-aware company context for AI agents, with provenance, approvals and audit.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Your company's brain for AI agents. Cited, permission-aware knowledge across every system.
Related MCP Servers
AlicenseAqualityCmaintenanceProvides a persistent memory and governance layer that allows AI coding agents to query documented architecture rules and validate code against team standards. It enables agents to verify compliance across categories like security and testing before suggesting changes to ensure consistency across development sessions.317MIT- AlicenseNot gradedqualityDmaintenanceProvides comprehensive architectural expertise through specialized agents, resources, and tools for generating, evaluating, and modifying architectural designs.777 npmISC
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query organizational architecture and governance constraints, returning evidence-grounded answers from documented structures.MIT
- AlicenseNot gradedqualityAmaintenanceProvides AI coding agents with an embedded knowledge graph and architecture governance tools, enabling blast radius analysis, compliance checks, and smart context extraction from codebases.Apache 2.0