mcp-asset-valuation-feed
Access up-to-the-minute financial figures for digital assets and comprehensive market insights, utilizing the CoinCap service for robust data retrieval and trend mapping.
Author

truss44
Quick Info
Actions
Tags
Digital Asset Pricing & Market Intelligence MCP Interface
A Model Context Protocol (MCP) engine engineered to deliver granular cryptocurrency analytics powered by the CoinCap API infrastructure. This service furnishes live valuation data, broad market assessments, and longitudinal trend reports via an intuitively designed portal. Supports both traditional STDIO and modern Streamable HTTP communication protocols.
Updates Log
- Introduction of Streamable HTTP communication channel (maintaining STDIO compatibility)
- Release pipeline now cryptographically signs artifacts using SSH for verifiable deployments
- Provision of Smithery CLI utilities for streamlined HTTP server construction and execution
Configuration Guide
Integrate the following JSON snippet into your Claude Desktop preference file:
- macOS Path:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows Path:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-asset-valuation-feed": {
"command": "npx",
"args": ["-y", "mcp-crypto-price"]
}
}
}
Operating as a Streaming HTTP Endpoint
You are able to invoke the service over an HTTP stream, ideal for clients supporting MCP over HTTP transport.
- Development instance (Recommended for active coding sessions):
npm run dev
- Generating the production HTTP bundle and initiating the server:
# Compile the HTTP deployment package (output to .smithery/)
npm run build
# Launch the HTTP listener
npm run start:http
- Compiling and running the Standard I/O listener:
# Compile the STDIO deployment package (output to dist/)
npm run build:stdio
# Start the STDIO process
npm run start:stdio
The dev/build procedures will output the server endpoint address to the terminal. Use this URI with MCP-capable clients (e.g., Smithery). Optionally, set the COINCAP_API_KEY environment variable to unlock higher request quotas.
API Key Configuration (Optional)
To obtain elevated rate limiting privileges, supply an API token within your configuration:
{
"mcpServers": {
"mcp-asset-valuation-feed": {
"command": "npx",
"args": ["-y", "mcp-crypto-price"],
"env": {
"COINCAP_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Crucial Notice: CoinCap is phasing out support for its v2 interface. This MCP solution is engineered for dual compatibility (v2 and v3 APIs): - Providing a
COINCAP_API_KEYprioritizes utilization of the v3 endpoint, reverting to v2 only if v3 fails. - Absence of an API key defaults the system to the v2 endpoint (which faces eventual deprecation). - Securing a key from pro.coincap.io/dashboard is strongly advised before the v2 service termination.
Initiate Claude Desktop to begin leveraging the digital asset intelligence capabilities.
Verified Commits & Cryptographic Signing
This source repository mandates cryptographically verified commit histories. The continuous integration pipeline (Verify commit signatures) is configured to reject pull requests containing unsigned contributions.
Establishing an SSH Signing Credential (One-time Setup)
# Generate a fresh ed25519 key pair (omitting a passphrase simplifies CI integration)
ssh-keygen -t ed25519 -C "CI signing key for mcp-crypto-price" -f ~/.ssh/id_ed25519 -N ''
# Key locations:
# Secret Key: ~/.ssh/id_ed25519
# Public Key: ~/.ssh/id_ed25519.pub
Enabling Local SSH Signing (Recommended Practice)
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true
# Example command for a signed submission
git commit -S -m 'feat: incorporate enhanced feature'
Registering Your Signature Key with GitHub
- Add the public key as an SSH Signing Key in your GitHub profile settings:
- Navigation: GitHub → Settings → SSH and GPG keys → Add New SSH Key
- Key Type: Signing Key (SSH)
- Paste the entire contents of
~/.ssh/id_ed25519.pub
Functional Tools
get-asset-price
Retrieves the current valuation and 24-hour trading statistics for any specified digital currency, including: - Current valuation denominated in USD - Percentage change across the preceding 24 hours - Total trading turnover - Aggregate market capitalization - Global market ranking metric
get-market-assessment
Furnishes an in-depth evaluation of market conditions, featuring: - Identification of the top five liquidity hubs based on transactional volume - Comparative price differentials across various exchanges - Analysis of volume distribution patterns - Calculation of the Volume Weighted Average Price (VWAP)
get-historical-review
Performs an analysis on historical pricing records, supporting: - Flexible temporal sampling rates (from 5-minute increments up to daily resolution) - Capability to query data spanning a maximum of 30 days - Identification and reporting of prevailing price trajectory - Computation of volatility indices - Determination of observed high and low price boundaries
Example Queries
- "What is the present market value for Bitcoin?"
- "Generate a market assessment report for Ethereum (ETH)"
- "Provide the price trajectory data for Dogecoin (DOGE) over the last week"
- "List the primary trading venues for BTC"
- "Display SOL's price movements using one-hour intervals for trend examination"
Project Genesis
This implementation drew inspiration from the work of Alex Andru, specifically the coincap-mcp repository.
Licensing
This software is distributed under the terms of the MIT License.
WIKIPEDIA: XMLHttpRequest (XHR) constitutes an Application Programming Interface embodied by a JavaScript construct capable of dispatching HTTP communication requests from a web browser to a remote web server. Its methods empower browser-based applications to issue queries to the server following initial page load, subsequently receiving information back asynchronously. XHR is a fundamental constituent of the Ajax programming paradigm. Before Ajax gained prominence, standard hyperlink navigation and form submissions were the principal means of server interaction, often necessitating a complete reload of the current display with new content.
== Provenance ==
The underlying concept driving XMLHttpRequest was first posited in the year 2000 by the engineering team behind Microsoft Outlook. This concept was subsequently integrated into the Internet Explorer 5 browser version (released in 1999). However, the initial implementation did not employ the literal "XMLHttpRequest" identifier; instead, developers relied on instantiating objects via ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 arrived in 2006, universal support for the standardized XMLHttpRequest identifier was established across all major browsers.
Eventually, the XMLHttpRequest identifier solidified as the universal convention across dominant browser engines, including Mozilla's Gecko (2002), Safari 1.2 (2004), and Opera 8.0 (2005).
=== Formalization === The World Wide Web Consortium (W3C) released its initial Working Draft specification detailing the XMLHttpRequest object on April 5, 2006. A subsequent Level 2 specification was published by the W3C on February 25, 2008. Level 2 introduced enhancements such as event progress monitoring, mechanisms for cross-site data exchange, and the ability to manage incoming byte streams. By late 2011, the Level 2 specifications were merged back into the primary document. Development responsibilities transferred to the WHATWG near the conclusion of 2012, which now maintains the living document utilizing Web IDL definitions.
== Operational Use == Executing a server request using XMLHttpRequest generally involves several distinct programming phases.
- Instantiation: A new XMLHttpRequest object is initialized by invoking its constructor:
- Configuration: The "open" method is called to define the request methodology (GET, POST, etc.), specify the target resource URI, and determine whether the operation should be synchronous or asynchronous:
- Asynchronous Handler Setup: For non-blocking operations, an event listener must be assigned to react to the request's state transitions:
- Transmission: The actual request is dispatched by calling the "send" method:
- Response Processing: State changes are monitored within the designated event listener. Upon receipt of server response data, this information is typically stored in the "responseText" attribute by default. When the object completes processing the response, its state transitions to 4, signifying the "done" status. Beyond these foundational steps, XMLHttpRequest offers extensive parameters for controlling transmission behavior and response parsing. Custom header fields can be appended to the request to influence server handling, and data payload can be uploaded by supplying content to the "send" invocation. The received response can be automatically deserialized from JSON into native JavaScript structures or processed incrementally as data segments arrive, avoiding wait times for the complete payload. Furthermore, requests can be halted prematurely or configured to time out if completion is not achieved within a specified duration.
== Inter-domain Communication ==
During the nascent stages of the World Wide Web, the potential for security breaches via unauthorized cross-origin traffic was identified, leading to limitations on...
