finmap-mcp 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +11 -17
  2. package/dist/core.js +49 -14
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,25 +1,18 @@
1
1
  # Finmap MCP Server
2
2
 
3
- A Model Context Protocol (MCP) server that provides comprehensive financial market data from [finmap.org](https://finmap.org). Access historical market data for multiple global stock exchanges through a standardized MCP interface.
4
-
5
- ## Features
6
-
7
- - **Comprehensive Data**: Market capitalization, trading volume, price changes, sector analysis
8
- - **Interactive Charts**: Direct links to finmap.org visualizations
9
- - **Both Remote & Local**: Cloudflare Workers hosted server + npm package
10
- - **Rich Metadata**: Company information, sector classifications, historical data
3
+ The finmap.org MCP server provides comprehensive historical data from the US, UK, Russian and Turkish stock exchanges. Access sectors, tickers, company profiles, market cap, volume, value, and trade counts, as well as treemap and histogram visualizations.
11
4
 
12
5
  ## Supported Exchanges
13
6
 
14
- | Exchange | Code | Country | Earliest Data |
15
- |----------|------|---------|---------------|
16
- | Moscow Exchange | `moex` | Russia | 2011-12-19 |
17
- | New York Stock Exchange | `nyse` | USA | 2024-12-09 |
18
- | NASDAQ | `nasdaq` | USA | 2024-12-09 |
19
- | American Stock Exchange | `amex` | USA | 2024-12-09 |
20
- | All US Markets | `us-all` | USA | 2024-12-09 |
21
- | London Stock Exchange | `lse` | UK | 2025-02-07 |
22
- | Borsa Istanbul | `bist` | Turkey | 2015-11-30 |
7
+ | Exchange | Code | Country | Earliest Data | Update Frequency |
8
+ |----------|------|---------|---------------|------------------|
9
+ | Moscow Exchange | `moex` | Russia | 2011-12-19 | Every 15 minutes (weekdays) |
10
+ | New York Stock Exchange | `nyse` | United States | 2024-12-09 | Hourly (weekdays) |
11
+ | NASDAQ Stock Market | `nasdaq` | United States | 2024-12-09 | Hourly (weekdays) |
12
+ | American Stock Exchange | `amex` | United States | 2024-12-09 | Hourly (weekdays) |
13
+ | US Combined (AMEX + NASDAQ + NYSE) | `us-all` | United States | 2024-12-09 | Hourly (weekdays) |
14
+ | London Stock Exchange | `lse` | United Kingdom | 2025-02-07 | Hourly (weekdays) |
15
+ | Borsa Istanbul | `bist` | Turkey | 2015-11-30 | Bi-monthly |
23
16
 
24
17
  ## Installation & Usage
25
18
 
@@ -219,6 +212,7 @@ Get detailed company information including business description (US market only)
219
212
 
220
213
  ```json
221
214
  {
215
+ {
222
216
  "ModuleTitle": {
223
217
  "label": "Module Title",
224
218
  "value": "Company Description"
package/dist/core.js CHANGED
@@ -46,14 +46,49 @@ const EXCHANGE_TO_COUNTRY_MAP = {
46
46
  moex: "russia",
47
47
  bist: "turkey",
48
48
  };
49
- const MIN_AVAILABLE_DATES = {
50
- amex: "2024-12-09",
51
- nasdaq: "2024-12-09",
52
- nyse: "2024-12-09",
53
- "us-all": "2024-12-09",
54
- lse: "2025-02-07",
55
- moex: "2011-12-19",
56
- bist: "2015-11-30",
49
+ const EXCHANGE_INFO = {
50
+ amex: {
51
+ name: "American Stock Exchange",
52
+ country: "United States",
53
+ availableSince: "2024-12-09",
54
+ updateFrequency: "Hourly (weekdays)",
55
+ },
56
+ nasdaq: {
57
+ name: "NASDAQ Stock Market",
58
+ country: "United States",
59
+ availableSince: "2024-12-09",
60
+ updateFrequency: "Hourly (weekdays)",
61
+ },
62
+ nyse: {
63
+ name: "New York Stock Exchange",
64
+ country: "United States",
65
+ availableSince: "2024-12-09",
66
+ updateFrequency: "Hourly (weekdays)",
67
+ },
68
+ "us-all": {
69
+ name: "US Combined (AMEX + NASDAQ + NYSE)",
70
+ country: "United States",
71
+ availableSince: "2024-12-09",
72
+ updateFrequency: "Hourly (weekdays)",
73
+ },
74
+ lse: {
75
+ name: "London Stock Exchange",
76
+ country: "United Kingdom",
77
+ availableSince: "2025-02-07",
78
+ updateFrequency: "Hourly (weekdays)",
79
+ },
80
+ moex: {
81
+ name: "Moscow Exchange",
82
+ country: "Russia",
83
+ availableSince: "2011-12-19",
84
+ updateFrequency: "Every 15 minutes (weekdays)",
85
+ },
86
+ bist: {
87
+ name: "Borsa Istanbul",
88
+ country: "Turkey",
89
+ availableSince: "2015-11-30",
90
+ updateFrequency: "Bi-monthly",
91
+ },
57
92
  };
58
93
  const commonInputSchema = {
59
94
  stockExchange: z
@@ -92,7 +127,7 @@ async function fetchMarketData(stockExchange, formattedDate) {
92
127
  const url = `${DATA_BASE_URL}/data-${country}/refs/heads/main/marketdata/${date}/${stockExchange}.json`;
93
128
  const response = await fetch(url);
94
129
  if (response.status === 404) {
95
- throw new Error(`Not found, try another date. The date must be on or after ${MIN_AVAILABLE_DATES[stockExchange]} for ${stockExchange}`);
130
+ throw new Error(`Not found, try another date. The date must be on or after ${EXCHANGE_INFO[stockExchange].availableSince} for ${stockExchange}`);
96
131
  }
97
132
  return response.json();
98
133
  }
@@ -107,16 +142,16 @@ async function fetchSecurityInfo(exchange, ticker) {
107
142
  return data;
108
143
  }
109
144
  export function registerFinmapTools(server) {
110
- server.registerResource("minimum-dates", "finmap://minimum-dates", {
111
- title: "Minimum date for stock exchange",
112
- description: "Earliest available dates for each exchange",
145
+ server.registerResource("exchanges-info", "finmap://exchanges-info", {
146
+ title: "Stock exchanges information",
147
+ description: "Available stock exchanges with details about data availability and update frequency",
113
148
  mimeType: "application/json",
114
149
  }, async () => {
115
150
  return {
116
151
  contents: [
117
152
  {
118
- uri: "finmap://minimum-dates",
119
- text: JSON.stringify(MIN_AVAILABLE_DATES, null, 2),
153
+ uri: "finmap://exchanges-info",
154
+ text: JSON.stringify(EXCHANGE_INFO, null, 2),
120
155
  },
121
156
  ],
122
157
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "finmap-mcp",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "MCP server providing financial market data from finmap.org",
5
5
  "main": "./dist/stdio-server.js",
6
6
  "type": "module",