Skip to main content
Glama
genesiscode2026

VELQIRIS Market Truth MCP Server

VELQIRIS Alexa+ & Model Context Protocol (MCP) Market Truth Server

VELQIRIS Market Truth MCP

A market truth consensus engine implementing:

  1. Model Context Protocol (MCP) server (http_mcp_server.js, mcp_server.js, and netlify/functions/amazon-mcp.js) with the JSON-RPC 2.0 and Streamable HTTP behaviors exercised by this project's tests (protocol version 2025-11-25).

  2. Alexa+ Web Simulation & In-Browser MCP Client (public/index.html / sale_site/alexa-simulation.html) implementing the complete client lifecycle (initialize -> notifications/initialized -> tools/list -> tools/call).

It answers spot-price questions only when at least two independent venues respond and strictly refuses to invent a market regime from a point-in-time snapshot (fail-closed).

Live Demo (Simulated Alexa+ Interface & MCP Client)

https://velqiris-acquisition.netlify.app/alexa-simulation.html

(Note: Explicitly labeled as a developer simulation per hackathon guidelines. Does not claim proprietary Amazon certification or direct production consumer hardware deployment).

Related MCP server: ReserveOracle

Model Context Protocol (MCP) Integration

VELQIRIS implements a standard MCP server for agentic AI architectures (Claude Desktop, MCP clients, Amazon Alexa Agentic workflows):

Protocol Details

  • Transports:

    • Local / Container Streamable HTTP: Native Node.js HTTP server (http_mcp_server.js) with chunked transfer (Transfer-Encoding: chunked), session lifecycle tracking (Mcp-Session-Id), and Origin validation (403 on untrusted origins).

    • Serverless HTTP: Stateless edge endpoint (netlify/functions/amazon-mcp.js) designed to operate across non-sticky serverless function instances.

    • Standard I/O (stdio): CLI / desktop MCP adapter (mcp_server.js).

  • Protocol Version: 2025-11-25 (Model Context Protocol specification)

  • Specification: JSON-RPC 2.0 with session tracking and version negotiation

Tools Exposed

  • get_market_truth_consensus: Fetches multi-venue spot price consensus (Coinbase, Binance, OKX). Fails closed if fewer than 2 independent sources respond.

    • Schema: { symbol: "BTC" | "ETH" | "SOL" | "ICP" }

  • verify_risk_regime: Refuses to label a market regime from a single snapshot. The public serverless response uses status: REGIME_VERIFICATION_REFUSED and risk_status: INSUFFICIENT_TIME_SERIES_FOR_REGIME_FORECAST.

    • Schema: { symbol: "BTC" | "ETH" | "SOL" | "ICP" }

Resources Exposed

  • velqiris://provenance/policy: Invariants for multi-venue price consensus and fail-closed security rules.

  • velqiris://architecture/summary: Overview of VELQIRIS agentic verification layer.

Verification & Judging Deliverables

Running & Testing Locally

Run all unit and MCP protocol tests (deterministic, offline):

npm test

Run internal MCP Protocol Verification Test Suite (40 assertions):

npm run verify:mcp
# or: node scripts/verify_amazon_mcp.js

Optional: Run network-dependent live smoke test against live venues:

npm run test:live

Start the Streamable HTTP server:

node http_mcp_server.js
# Listening on http://0.0.0.0:3333/mcp

Start the MCP stdio server:

node mcp_server.js

Build and run the supplied local container:

docker build -t velqiris-market-truth .
docker run --rm -p 3333:3333 velqiris-market-truth
curl http://127.0.0.1:3333/health

Start local Netlify development server:

netlify dev

Installation via Smithery & Claude Desktop

To install this MCP server into Claude Desktop via Smithery:

npx -y smithery mcp add chitara-trading/velqiris-market-truth

Or configure manually in your claude_desktop_config.json:

{
  "mcpServers": {
    "velqiris-market-truth": {
      "command": "node",
      "args": ["/path/to/velqiris-alexa-market-truth/mcp_server.js"]
    }
  }
}

Open-Source Core

This repository is MIT licensed, including commercial-use rights under the terms of the MIT License.

Hackathon Disclosure

This project implements the Model Context Protocol (MCP) and uses the simulated Alexa+ experience path expressly described in the competition requirements. It is not connected to a proprietary consumer Alexa account and does not claim certification or endorsement by Amazon.

License

MIT. See LICENSE.

Available Tools

2 tools
get_market_truth_consensusB

Fetches multi-venue spot price consensus across independent venues (Coinbase, Binance, OKX). Fails closed if fewer than 2 independent sources respond.

NameRequiredDescriptionDefault
symbolYesAsset ticker to verify (e.g. BTC, ETH, SOL, ICP)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose important behavior: multi-venue consensus and fail-closed if fewer than two independent sources respond. However, it omits other behavioral details such as permissions, rate limits, and what the successful response contains.

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?

Two sentences, no wasted words. The core purpose is front-loaded and the fail-closed constraint follows immediately.

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 one-parameter tool with a fully described enum and no output schema, the description gives enough to invoke it correctly and highlights a critical failure mode. It could still say more about the successful return shape and its relationship to the sibling tool.

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?

Schema description coverage is 100%, and the description adds no parameter meaning beyond the schema. The enum for symbol is fully documented in the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetches) and resource (multi-venue spot price consensus), and names the independent venues. It is clear what the tool does, though it does not explicitly distinguish itself from the sibling verify_risk_regime.

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?

Provides no explicit guidance on when to use this tool versus alternatives, and does not mention the sibling tool. The fail-closed condition is operational behavior, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_risk_regimeB

Evaluates market risk regime for an asset. Fails closed against inventing market regimes from point-in-time snapshots.

NameRequiredDescriptionDefault
symbolYesAsset ticker to evaluate (e.g. BTC, ETH, SOL, ICP)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses a meaningful safety trait, failing closed against inventing regimes from point-in-time snapshots, but does not explain what failing closed means operationally or what the evaluation returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and front-loads the core purpose. The second sentence is somewhat jargon-heavy but still earns its place by adding a behavioral constraint.

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?

For a simple one-parameter tool, the description is minimally adequate. However, with no output schema and no annotation coverage, it leaves important gaps around what the evaluation actually returns and how the fail-closed behavior manifests.

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 fully documents the single symbol parameter, including an enum of supported assets. The description adds no parameter-level meaning beyond what the schema already 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: evaluates market risk regime for an asset. It is clear what the tool does, but it does not explicitly distinguish itself from the sibling get_market_truth_consensus.

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 gives no explicit when-to-use guidance, no exclusions, and no comparison to the sibling tool. The fail-closed sentence hints at reliability, but it does not tell an agent when this tool should be selected over alternatives.

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. 2 tool updatesv1.0.0
    • First observedget_market_truth_consensus
    • First observedverify_risk_regime

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools target clearly different concerns: one returns cross-venue spot price consensus, the other evaluates a risk regime. There is no plausible scenario where an agent would confuse them, and the failure semantics (fail-closed) are described for each.

Naming Consistency4/5

Both names use snake_case with a leading verb (get_/verify_) followed by a noun phrase, which is predictable and readable. The only minor deviation is that the verbs differ in style ('get' is retrieval, 'verify' implies validation), but this reflects genuinely different operations rather than inconsistency.

Tool Count3/5

Two tools is thin for a server, though the scope here is deliberately narrow (trustworthy market data primitives). Each tool earns its place, but the surface feels like a partial slice rather than a complete server.

Completeness3/5

Core operations exist for price consensus and risk regime, but there is no way to discover supported assets or venues, check venue health/freshness, or query historical/stale data. Agents hitting an unsupported asset have no recovery path within the tool set.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Real-time currency exchange rates and crypto prices via MCP. Convert between 60+ fiat currencies and 30+ cryptocurrencies with multi-source failover. No API keys needed for upstream data.
    4 npm
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    Reserve Asset Intelligence MCP — live gold/silver prices as ES256K-signed evidence payloads, 80+ RWA token profiles (PAXG, XAUT, BlackRock BUIDL) with issuer LEI, custody, MiCA Art.36 context, and real cryptographic signatures.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Ed25519-signed market-state receipts for 28 exchanges: is the venue open right now, as a receipt any agent can verify without trusting the operator, fail-closed (unknown is reported as closed). MCP tools: get_market_status, get_market_schedule, list_exchanges, get_payment_options. Free tier 500 calls a day with an instant key; x402 pay-per-call at 0.001 USDC on Base; Builder 99 USDC a month
    MIT