Skip to main content
Glama
dandacompany

vibe-finance-kit

by dandacompany

Vibe Finance Kit

Vibe-Trading에서 검증된 투자 리서치 원칙을 Hermes 실습에 맞게 선별한 읽기 전용 Skill + MCP 키트다. 원본의 에이전트 런타임, UI, swarm, 브로커 주문 경로를 포크하지 않는다.

이 저장소가 담당하는 일:

  • 출처·기준일·가용 시점을 보존하는 투자 리서치

  • ETF 상품 구조와 기초지수 가치지표 스냅샷 검증

  • 백테스트 결과의 미래참조·비용·평가 구간·벤치마크 감사

이 저장소가 담당하지 않는 일:

  • 매수·매도 추천

  • 주문 기안, 승인 또는 실행

  • 증권사 키·계좌번호 보관

이 프로젝트는 교육용 분석 도구이며 투자 자문, 매수·매도 추천 또는 수익 보장을 제공하지 않는다.

주문과 모의 계좌 연결은 별도 프로젝트 magma-finance-lab이 담당한다. 분석 MCP에 주문 도구를 추가하지 않는 것이 이 프로젝트의 보안 경계다.

출처와 파생 범위

  • Upstream: HKUDS/Vibe-Trading

  • 검토 기준: vibe-trading-ai 0.1.13, commit a1bb7ac02953c8e913fa72b4f7dceb357c699330

  • 라이선스: 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

.venv/bin/vibe-finance-kit

Skill 3/2개·MCP 4개 통과

Linux·WSL

.venv/bin/vibe-finance-kit

Skill 3/2개·MCP 4개 통과

Windows PowerShell

.venv\Scripts\vibe-finance-kit.exe

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

역할

finance-research-discipline

출처·시점·반대 근거·결측 규율

etf-value-analysis

ETF 상품 구조와 기초지수 가치지표 분석

backtest-audit

미래참조·과적합·비용·벤치마크 감사

빠른 검증

.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 tools
audit_backtest_reportB

Audit a BacktestReport for timing, cost, split, and evidence gates.

ParametersJSON Schema
NameRequiredDescriptionDefault
report_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
left_jsonYes
right_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshot_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 4 tool updatesv0.1.0
    • First observedaudit_backtest_report
    • First observedcompare_etf_snapshots
    • First observedfinance_kit_doctor
    • First observedvalidate_etf_snapshot

TDQS

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Read-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
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides read-only access to justETF data including ETF search, profiles, charts, comparisons, and live quotes via MCP tools.
    5
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Investment 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.
    21
    83
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides 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

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