project-decision-rag
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., "@project-decision-ragfind decisions about deployment approval"
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.
Project decision RAG MCP server
Chromaでプロジェクト固有の意思決定ルールを意味検索し、MCPツールとしてLLMに提供するサンプルです。
セットアップ
miseでNode.js・Python・Python仮想環境を管理します。ChromaサーバはPythonパッケージとしてインストールします。
mise trust
mise install
mise run installmise trust は、プロジェクトの mise.toml を信頼するための初回のみ必要な操作です。詳しくは mise.tomlの信頼 を参照してください。
Python 3.12.0の配布バイナリにはGitHub Artifact Attestationがないため、mise.tomlではPythonに限ってこの検証を無効化しています。また、仮想環境にはpipをseedし、mise run installでもpipを復旧してから依存関係をインストールします。
Chromaサーバを別のターミナルで起動し、ルールを登録します。
mise run start-chroma
mise run ingestMCPクライアントからは、次のコマンドをstdioサーバとして登録します。
mise run start-mcpデフォルトでは 127.0.0.1:8000 の project-decision-rules-multilingual-v1 コレクションを使用します。日本語検索に対応した Xenova/paraphrase-multilingual-MiniLM-L12-v2 をEmbeddingモデルとして使用します。変更する場合は CHROMA_HOST、CHROMA_PORT、CHROMA_SSL、CHROMA_COLLECTION、CHROMA_EMBEDDING_MODEL を設定してください。
Embeddingモデルを変更した場合は、登録時と検索時で同じモデルを使う必要があります。既存のコレクションとベクトルが混ざらないよう、別のCHROMA_COLLECTIONを指定するか、対象コレクションへmise run ingestを実行してください。
Related MCP server: RooCode-RAG-Lookup
ツール
find_project_decisions(query) に質問や状況を渡すと、Chromaで関連ルールを検索し、検索結果のIDから正式なルールを読み込んで返します。
正式なルールは src/rules.ts、検索インデックスへの投入は src/ingest-rules.ts で管理します。
mise run buildAvailable Tools
1 toolfind_project_decisionsA
ユーザーの質問に関連する、このプロジェクト固有の意思決定ルールを検索します。一般論よりも、このプロジェクトのルールを優先して判断する必要がある場合に利用します。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 判断ルールを検索したい質問や状況 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only search but doesn't disclose return format, behavior when no rules match, or whether it performs semantic/vector search. The description is not misleading, but it lacks behavioral details beyond the basic purpose.
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, concise sentence in Japanese that front-loads the action ('searches') and clearly states the scope ('project-specific'). There is no redundant or unnecessary information.
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 has only one parameter, no annotations, and no output schema, the description is somewhat minimal. It explains purpose and usage but lacks details about the result structure or how the agent should interpret the returned decision rules. This is an adequate but not fully complete description for a search tool.
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 covers 100% of the parameter description, stating 'query' is the question or situation for which to search decision rules. The tool description adds no further semantic detail beyond what the schema provides, so the baseline of 3 is appropriate.
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 tool searches for project-specific decision rules related to the user's question. It specifies the verb 'search' and the resource 'decision rules', and distinguishes itself from general knowledge by emphasizing project-specificity. However, there are no sibling tools to differentiate, so it doesn't explicitly contrast with alternatives.
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 usage context: use this tool when project-specific rules should take precedence over general knowledge. This helps the agent decide when to invoke it, though no explicit alternatives or exclusions are mentioned.
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 tool update
v1.0.0- First observed
find_project_decisions
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or misselection. The tool has a unique, clearly defined purpose.
The single tool name 'find_project_decisions' follows a clear verb_noun pattern and is internally consistent.
A single tool feels too thin for a server named 'project-decision-rag'. Even a focused RAG server would typically include additional tools for managing or indexing decisions.
The server only provides search/retrieval of project decisions. There is no way to add, update, or delete decisions, which are significant gaps for a decision management workflow.
Maintenance
Related MCP Connectors
Author rules from policy docs, then decide: a Rete engine gives the verdict, an LLM explains why.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Project memory, semantic code search, and grounded agent context.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables LLMs to perform semantic search and document management using ChromaDB, supporting natural language queries with intuitive similarity metrics for retrieval augmented generation applications.-
- FlicenseNot gradedqualityDmaintenanceEnables semantic search across documents and code repositories using RAG (Retrieval-Augmented Generation) with vector embeddings. Automatically indexes PDF documents and performs relevance-scored lookups through ChromaDB and sentence transformers.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to semantically search through indexed documentation websites and local code repositories using OpenAI embeddings and ChromaDB vector storage.-
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to search and retrieve information from large technical documentation (OpenAPI specs, markdown) via intelligent chunking and semantic search.MIT