vibe-finance-kit
This is a read-only investment research server with four MCP tools for ETF analysis and backtest auditing. It never offers trading, buy/sell recommendations, or holds broker credentials.
finance_kit_doctor– Returns server capabilities, confirming read-only mode and that no order tools are exposed.validate_etf_snapshot– Validates a singleETFAnalysisSnapshotJSON payload, checking structure integrity without filling gaps.compare_etf_snapshots– Compares two ETF snapshots, yielding comparable facts and warnings, but explicitly never a buy recommendation.audit_backtest_report– Audits aBacktestReportJSON for timing, cost assumptions, split periods, and evidence gate compliance, including look-ahead bias detection.
It supports disciplined investment research, source verification, missing-data handling, ETF product structure review, and index valuation metrics.
Click on "Install 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., "@vibe-finance-kitPlease audit this backtest report for lookahead bias"
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.
Vibe Finance Kit
Vibe-Trading에서 검증된 투자 리서치 원칙을 Hermes 실습에 맞게 선별한 읽기 전용 Skill + MCP 키트다. 원본의 에이전트 런타임, UI, swarm, 브로커 주문 경로를 포크하지 않는다.
이 저장소가 담당하는 일:
출처·기준일·가용 시점을 보존하는 투자 리서치
ETF 상품 구조와 기초지수 가치지표 스냅샷 검증
백테스트 결과의 미래참조·비용·평가 구간·벤치마크 감사
이 저장소가 담당하지 않는 일:
매수·매도 추천
주문 기안, 승인 또는 실행
증권사 키·계좌번호 보관
이 프로젝트는 교육용 분석 도구이며 투자 자문, 매수·매도 추천 또는 수익 보장을 제공하지 않는다.
주문과 모의 계좌 연결은 별도 프로젝트 magma-finance-lab이 담당한다. 분석 MCP에 주문 도구를 추가하지 않는 것이 이 프로젝트의 보안 경계다.
출처와 파생 범위
Upstream: HKUDS/Vibe-Trading
검토 기준:
vibe-trading-ai0.1.13, commita1bb7ac02953c8e913fa72b4f7dceb357c699330라이선스: MIT
세부 채택·제외 목록은 UPSTREAM.md, 저작권 고지는 NOTICE를 본다.
Related MCP server: justetf-mcp
Hermes 빠른 설치
git clone https://github.com/dandacompany/vibe-finance-kit.git
cd vibe-finance-kit
uv run python scripts/setup_hermes.py같은 명령을 macOS, Linux·WSL, Windows PowerShell에서 사용한다. 이 명령은 프로젝트
환경과 패키지를 설치하고, Ada에는 분석 Skill 3개와 읽기 전용 MCP를,
Oliver에는 리서치 Skill 2개를 등록한다. MCP 도구 4개 활성화 질문이 나오면 Y를
입력한다. 기본 기능에는 API 키와 .env가 필요하지 않다.
설치가 끝나면 Ada와 Oliver를 새 세션으로 시작한다. Ada에게
finance_kit_doctor를 호출하도록 요청해 mode=read_only, tools=4,
order_tools=[], broker_credentials_required=false를 확인한다.
검증된 환경:
환경 | MCP 실행 파일 | 전체 setup 결과 |
macOS |
| Skill 3/2개·MCP 4개 통과 |
Linux·WSL |
| Skill 3/2개·MCP 4개 통과 |
Windows PowerShell |
| Skill 3/2개·MCP 4개 통과 |
설치 확인과 복구
설정을 변경하지 않고 패키지, Hermes 경로, MCP 실행 파일, doctor만 확인할 수 있다.
uv run python scripts/setup_hermes.py --check빠른 설치가 중단됐다면 오류를 해결한 뒤 uv run python scripts/setup_hermes.py를 다시
실행한다. 운영체제별 .venv 경로나 개별 Skill·MCP 명령을 직접 입력할 필요가 없다.
설치되는 역할:
Skill | 역할 |
| 출처·시점·반대 근거·결측 규율 |
| ETF 상품 구조와 기초지수 가치지표 분석 |
| 미래참조·과적합·비용·벤치마크 감사 |
빠른 검증
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m vibe_finance_kit.doctor첫 데이터 검증에는 examples/etf-analysis-snapshot.json을 사용한다. 값은 고정 fixture이며 실제 투자 판단 자료가 아니다.
공개 전 남은 게이트
Hermes 녹화 프로필에서 Skill 원격 설치 실측
MCP 등록 후 도구 목록과 첫 호출 실측
Section 8 샘플
ETFAnalysisSnapshot으로 end-to-end 검증hermes skills audit결과 보존
Available Tools
4 toolsaudit_backtest_reportB
Audit a BacktestReport for timing, cost, split, and evidence gates.
| Name | Required | Description | Default |
|---|---|---|---|
| report_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It states the tool audits a report but does not describe any side effects, permissions needed, output format, or behavior when gates fail. The presence of an output schema partially mitigates return-value ambiguity, but other behavioral aspects remain undisclosed.
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 conveys the essential purpose without any redundant words or filler. It is appropriately concise for a tool with a single parameter.
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 tool has low complexity (one parameter) and an output schema, so the description's brevity is acceptable. However, it lacks usage guidance and behavioral detail, leaving some context gaps. It is a minimal viable description but falls short of being comprehensive.
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 defines only 'report_json' as a string, but the description does not explain how this parameter relates to the BacktestReport being audited. With 0% schema description coverage, the description should compensate but fails to add any meaning about the parameter's content, format, or usage.
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 'audit' and the resource 'BacktestReport', and specifies the scope of the audit ('timing, cost, split, and evidence gates'). This distinguishes it from sibling tools like validate_etf_snapshot or compare_etf_snapshots, which target different resources or actions.
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 does not provide any guidance on when to use this tool versus the sibling tools, nor does it mention exclusions or prerequisites. It only states what the tool does, leaving the agent to infer usage without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_etf_snapshotsB
Return comparable ETF facts and warnings; never emit a buy recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| left_json | Yes | ||
| right_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It does state one important constraint ('never emit a buy recommendation'), but it fails to mention other traits such as whether the tool makes external calls, requires authentication, handles invalid JSON, or has side effects. This is minimal disclosure.
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 concise sentence that front-loads the purpose and includes a useful guardrail. Every word earns its place, with no redundant 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?
The tool has two JSON inputs and an output schema, but the description is too terse to fully guide an agent. It omits input format expectations, potential errors, and when to prefer this tool over siblings. The description relies heavily on the tool name and schema to convey completeness.
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 0%, and the description does not explain what left_json and right_json should contain or how they map to 'comparable ETF facts'. The parameter names imply two ETF snapshots, but the description adds no additional detail about expected format or structure.
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 ('Return') and clearly identifies the resource ('comparable ETF facts and warnings'). The tool name 'compare_etf_snapshots' reinforces the comparison function, distinguishing it from siblings like validate_etf_snapshot and audit_backtest_report.
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?
No guidance is given on when to use this tool versus the siblings. The description does not mention scenarios, alternatives, or exclusions. The only extra instruction ('never emit a buy recommendation') is a behavioral constraint, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_kit_doctorA
Return capabilities and prove that this server exposes no order tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool returns capabilities and proves the absence of order tools, but it does not disclose output format, side effects, prerequisites, or any potential concerns. For a read-only introspection tool, this is minimal but not misleading.
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 with no redundancy, front-loaded with the verb 'Return,' and communicates the core action and purpose efficiently.
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 zero-parameter tool with an output schema, the description covers the essential purpose. However, it does not elaborate on how the proof is presented or whether it returns a full capability list or only a binary confirmation, leaving slight ambiguity about the output.
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?
With zero parameters, the baseline score is 4. The description adds no parameter details, but the empty schema confirms there are none, so this 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 uses a specific verb 'Return' with resource 'capabilities' and explicitly states the unique goal of 'prove that this server exposes no order tools,' which clearly distinguishes it from the validation/audit sibling tools.
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 a use case (checking whether order tools exist) but does not explicitly state when to use this tool versus alternatives or provide exclusions. No alternative tools are mentioned, leaving usage context implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_etf_snapshotA
Validate one ETFAnalysisSnapshot without filling missing values.
| Name | Required | Description | Default |
|---|---|---|---|
| snapshot_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses a key behavioral trait: validation does not fill missing values. However, it lacks details on error handling, return format (though output schema exists), or whether the operation is strictly read-only. Some value is added, but significant gaps remain.
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, front-loaded with the action verb. Every word adds value, and there is no extraneous 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?
For a tool with a single parameter, an output schema (which covers return values), and clear sibling differentiation, the description is largely complete. It conveys the core function and an important behavioral nuance. It falls short of full completeness only by omitting explicit guidance on when to choose this over siblings, but given the simplicity, this is not a critical gap.
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 exposes one parameter, snapshot_json (string), with 0% coverage from the description. The description adds meaning by indicating the parameter represents an ETFAnalysisSnapshot, providing context beyond the bare schema. However, it does not clarify whether the expected input is a JSON string or its exact format, leaving some ambiguity.
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 specific action ('Validate') and resource ('ETFAnalysisSnapshot'), scoped to 'one' snapshot. It also includes a distinctive qualifier ('without filling missing values') that helps differentiate it from sibling tools like compare_etf_snapshots.
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 use for validating a single snapshot and explicitly notes a behavioral constraint (no missing value imputation). However, it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or conditions.
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. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
audit_backtest_report - First observed
compare_etf_snapshots - First observed
finance_kit_doctor - First observed
validate_etf_snapshot
TDQS
Each tool targets a distinct operation: an introspection probe, single-snapshot validation, snapshot comparison, and backtest audit. There is no overlap or ambiguity between them.
Three tools follow a clear verb_noun pattern (validate_etf_snapshot, compare_etf_snapshots, audit_backtest_report), but finance_kit_doctor breaks the convention with a noun phrase, making the naming set feel slightly inconsistent.
Four tools is a reasonable size for a specialized finance-kit server, though it sits near the lower end of the typical 3-15 band. The scope appears focused and not overburdened.
The tool surface covers validation, comparison, and audit for the core domain. A minor gap is the lack of any creation or mutation tools, but for an analysis-focused kit this is acceptable and does not leave obvious dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only paper risk evidence and policy-gated committed event research. No real orders.
Read-only checks for proposed orders against evidence and policy; no trading or payment authority.
21Read-only value-investing fund, holdings, financial, options, and insider research.
Read-only tokenized stock data: issuers, chains, contract addresses and corporate actions.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server for Taiwan active ETF research database, providing tools to list ETFs, track buy/sell deltas, view stock history and PnL, and find consensus buys across ETFs.5-
- AlicenseAqualityCmaintenanceProvides read-only access to justETF data including ETF search, profiles, charts, comparisons, and live quotes via MCP tools.51MIT
- AlicenseAqualityAmaintenanceInvestment decision tools for AI agents: portfolio status, isolated multi-agent committee analysis, auditable verdict history, and lookahead-protected backtests. Advisory only, no auto-trading; negative research results published.2183MIT
- FlicenseNot gradedqualityBmaintenanceProvides deterministic A-share market snapshots and immutable strategy versions for short-term review, exposing verified daily reports via MCP without order or account management.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dandacompany/vibe-finance-kit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server