quantgist-mcp 0.1.0__tar.gz

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.
@@ -0,0 +1,48 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+ tags: ["v*"]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ package-check:
14
+ runs-on: ubuntu-latest
15
+ timeout-minutes: 15
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.11"
23
+
24
+ - uses: astral-sh/setup-uv@v5
25
+
26
+ - run: uv sync
27
+ - run: uv run python -c "import quantgist_mcp"
28
+ - run: uv build
29
+
30
+ publish:
31
+ # Publishes to PyPI via the trusted publisher bound to this workflow
32
+ # (QuantGist-Technologies/QuantGist_MCP · ci.yml). Runs only on v* tags.
33
+ if: startsWith(github.ref, 'refs/tags/v')
34
+ needs: package-check
35
+ runs-on: ubuntu-latest
36
+ timeout-minutes: 15
37
+ permissions:
38
+ id-token: write # required for OIDC trusted publishing
39
+
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+
43
+ - uses: astral-sh/setup-uv@v5
44
+
45
+ - run: uv build
46
+
47
+ - name: Publish to PyPI
48
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,16 @@
1
+ CLAUDE.md
2
+ __pycache__/
3
+ *.py[cod]
4
+ .venv/
5
+ venv/
6
+ .pytest_cache/
7
+ .ruff_cache/
8
+ .mypy_cache/
9
+ dist/
10
+ build/
11
+ *.egg-info/
12
+ uv.lock
13
+ .env
14
+ .env.local
15
+ .DS_Store
16
+ Thumbs.db
@@ -0,0 +1,6 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 - 2026-05-25
4
+
5
+ - Prepared the MCP server for public launch with repository metadata and CI.
6
+ - Exposes QuantGist macro event tools for agent workflows.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 QuantGist
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,282 @@
1
+ Metadata-Version: 2.4
2
+ Name: quantgist-mcp
3
+ Version: 0.1.0
4
+ Summary: MCP server — exposes QuantGist macro event tools to Claude and AI agents
5
+ Author-email: QuantGist <dev@quantgist.com>
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Requires-Python: >=3.10
9
+ Requires-Dist: httpx>=0.27.0
10
+ Requires-Dist: mcp[cli]>=1.0.0
11
+ Description-Content-Type: text/markdown
12
+
13
+ # QuantGist MCP Server
14
+
15
+ Exposes [QuantGist](https://quantgist.com) macro-economic event data as **Model Context Protocol (MCP)** tools so Claude and other AI agents can query calendars, check event proximity, and assess trade safety — all within a conversation.
16
+
17
+ ## What it does
18
+
19
+ The server registers eleven tools that any MCP-compatible client (Claude Desktop, Claude Code, custom agents) can call:
20
+
21
+ **Macro economic events**
22
+
23
+ | Tool | Description |
24
+ |------|-------------|
25
+ | `get_upcoming_events` | Events scheduled in the next N hours, filtered by impact |
26
+ | `get_events_range` | Events in a date range with optional country/symbol/impact filters |
27
+ | `check_safe_to_trade` | Is it safe to trade a symbol right now? (high-impact event proximity check) |
28
+ | `get_economic_calendar` | Full day calendar grouped by time, formatted as a schedule |
29
+ | `get_event_detail` | Full details for one event by ID (actual, forecast, previous, symbols) |
30
+
31
+ **Earnings**
32
+
33
+ | Tool | Description |
34
+ |------|-------------|
35
+ | `get_earnings_upcoming` | Next upcoming earnings reports across all tickers, with EPS/revenue estimates |
36
+ | `get_earnings_for_ticker` | Earnings history for one ticker (estimate vs actual, beat/miss, EDGAR links) |
37
+ | `get_earnings_summary` | Beat / miss / in-line counts and overall beat rate for a ticker |
38
+ | `get_earnings_surprises` | Largest EPS surprises across the market in the latest reports |
39
+ | `get_earnings_season_summary` | Index-level summary of the current earnings season |
40
+
41
+ **Markets**
42
+
43
+ | Tool | Description |
44
+ |------|-------------|
45
+ | `get_markets_overview` | End-of-day quotes for major indices and instruments (S&P 500, Nasdaq, gold, oil…) |
46
+
47
+ ## Requirements
48
+
49
+ - Python 3.10+
50
+ - A QuantGist API key — get one at [quantgist.com](https://quantgist.com) (free tier: 100 calls/day)
51
+
52
+ ## Installation
53
+
54
+ ### Option A — install from the package (recommended)
55
+
56
+ ```bash
57
+ pip install quantgist-mcp
58
+ # or with uv:
59
+ uv pip install quantgist-mcp
60
+ ```
61
+
62
+ ### Option B — install from source (development)
63
+
64
+ ```bash
65
+ git clone https://github.com/QuantGist-Technologies/QuantGist_MCP
66
+ cd QuantGist_MCP
67
+ uv sync # installs all dependencies into a venv
68
+ uv run quantgist-mcp # start the server
69
+ ```
70
+
71
+ ## Claude Desktop configuration
72
+
73
+ Locate your Claude Desktop config file:
74
+
75
+ | Platform | Path |
76
+ |----------|------|
77
+ | macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
78
+ | Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
79
+ | Linux | `~/.config/Claude/claude_desktop_config.json` |
80
+
81
+ Add the `quantgist` server block (see `claude_desktop_config_example.json`):
82
+
83
+ ```json
84
+ {
85
+ "mcpServers": {
86
+ "quantgist": {
87
+ "command": "quantgist-mcp",
88
+ "env": {
89
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ Restart Claude Desktop after saving. The tools will appear in the tool list.
97
+
98
+ ### Using `uv run` instead of a global install
99
+
100
+ If you prefer not to install globally, point Claude Desktop at `uv run`:
101
+
102
+ ```json
103
+ {
104
+ "mcpServers": {
105
+ "quantgist": {
106
+ "command": "uv",
107
+ "args": ["run", "--directory", "/absolute/path/to/Quangist_MCP", "quantgist-mcp"],
108
+ "env": {
109
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
110
+ }
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ ## Claude Code configuration
117
+
118
+ Add to `.claude/mcp_settings.json` in your project (or the global `~/.claude/mcp_settings.json`):
119
+
120
+ ```json
121
+ {
122
+ "mcpServers": {
123
+ "quantgist": {
124
+ "command": "quantgist-mcp",
125
+ "env": {
126
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
127
+ }
128
+ }
129
+ }
130
+ }
131
+ ```
132
+
133
+ ## Tool reference
134
+
135
+ ### `get_upcoming_events`
136
+
137
+ Returns events in the next N hours.
138
+
139
+ | Parameter | Type | Default | Description |
140
+ |-----------|------|---------|-------------|
141
+ | `hours` | integer (1–168) | 24 | Look-ahead window in hours |
142
+ | `impact` | high \| medium \| low \| all | high | Impact filter |
143
+
144
+ ### `get_events_range`
145
+
146
+ Returns events in a date range.
147
+
148
+ | Parameter | Type | Required | Description |
149
+ |-----------|------|----------|-------------|
150
+ | `from_date` | ISO string | Yes | Start date/datetime |
151
+ | `to_date` | ISO string | Yes | End date/datetime |
152
+ | `country` | string | No | 2-letter country code (e.g. "US") |
153
+ | `impact` | enum | No | high \| medium \| low \| all |
154
+ | `symbol` | string | No | Trading symbol (e.g. "XAUUSD") |
155
+
156
+ ### `check_safe_to_trade`
157
+
158
+ Checks if a symbol is safe to trade based on nearby high-impact events.
159
+
160
+ | Parameter | Type | Default | Description |
161
+ |-----------|------|---------|-------------|
162
+ | `symbol` | string | required | Symbol to check (e.g. "XAUUSD") |
163
+ | `minutes_before` | integer (0–120) | 10 | Flag unsafe N minutes before an event |
164
+ | `minutes_after` | integer (0–120) | 5 | Flag unsafe N minutes after an event |
165
+
166
+ Returns a JSON object:
167
+ ```json
168
+ {
169
+ "symbol": "XAUUSD",
170
+ "safe": false,
171
+ "reason": "High-impact event within window: US CPI (YoY). Avoid trading XAUUSD until the window passes.",
172
+ "dangerous_events_count": 1,
173
+ "next_event": {
174
+ "id": "abc123",
175
+ "title": "US CPI (YoY)",
176
+ "currency": "USD",
177
+ "impact": "high",
178
+ "release_time_utc": "2025-01-15T13:30:00Z",
179
+ "minutes_from_now": 7.3
180
+ },
181
+ "window": { "minutes_before": 10, "minutes_after": 5 },
182
+ "checked_at_utc": "2025-01-15 13:22 UTC"
183
+ }
184
+ ```
185
+
186
+ ### `get_economic_calendar`
187
+
188
+ Returns the day's calendar grouped by release time.
189
+
190
+ | Parameter | Type | Default | Description |
191
+ |-----------|------|---------|-------------|
192
+ | `date` | ISO date | today (UTC) | Date to fetch |
193
+ | `impact` | enum | high | Impact filter |
194
+
195
+ ### `get_event_detail`
196
+
197
+ Returns full detail for one event.
198
+
199
+ | Parameter | Type | Required | Description |
200
+ |-----------|------|----------|-------------|
201
+ | `event_id` | string | Yes | Event ID from any other tool |
202
+
203
+ ### `get_earnings_upcoming`
204
+
205
+ Returns the next upcoming earnings reports across all tickers, ordered by report date.
206
+
207
+ | Parameter | Type | Default | Description |
208
+ |-----------|------|---------|-------------|
209
+ | `limit` | integer (1–100) | 20 | Number of upcoming reports to return |
210
+
211
+ ### `get_earnings_for_ticker`
212
+
213
+ Returns earnings history for a single ticker (EPS estimate vs actual, revenue, beat/miss, EDGAR links).
214
+
215
+ | Parameter | Type | Default | Description |
216
+ |-----------|------|---------|-------------|
217
+ | `ticker` | string | required | Stock ticker, e.g. "AAPL" |
218
+ | `limit` | integer (1–50) | 10 | Number of historical reports to return |
219
+
220
+ ### `get_earnings_summary`
221
+
222
+ Returns beat / miss / in-line counts and overall beat rate for a ticker.
223
+
224
+ | Parameter | Type | Required | Description |
225
+ |-----------|------|----------|-------------|
226
+ | `ticker` | string | Yes | Stock ticker, e.g. "AAPL" |
227
+
228
+ ### `get_earnings_surprises`
229
+
230
+ Returns the largest EPS surprises across the market in the most recent reports.
231
+
232
+ | Parameter | Type | Default | Description |
233
+ |-----------|------|---------|-------------|
234
+ | `limit` | integer (1–50) | 20 | Number of top surprises to return |
235
+
236
+ ### `get_earnings_season_summary`
237
+
238
+ Returns the index-level summary of the current earnings season (total reports, overall beat rate, average EPS surprise, season label). No parameters.
239
+
240
+ ### `get_markets_overview`
241
+
242
+ Returns end-of-day quotes for major market indices and instruments (S&P 500, Nasdaq, Dow Jones, gold, oil, etc.). No parameters.
243
+
244
+ ## Example prompts
245
+
246
+ These prompts work out of the box once the server is connected:
247
+
248
+ - "What high-impact events are in the next 4 hours?"
249
+ - "Is it safe to trade XAUUSD right now?"
250
+ - "Show me today's full economic calendar"
251
+ - "Show me this week's high-impact USD events"
252
+ - "What macro events affect EURUSD this Friday?"
253
+ - "Get me details on event ID abc123"
254
+ - "Check if GBPUSD is safe to trade with a 15-minute buffer before events"
255
+ - "Which companies report earnings soon?"
256
+ - "Show me AAPL's earnings beat rate"
257
+ - "What were the biggest EPS surprises this season?"
258
+ - "Give me a quick market overview"
259
+
260
+ ## Environment variables
261
+
262
+ | Variable | Required | Description |
263
+ |----------|----------|-------------|
264
+ | `QUANTGIST_API_KEY` | Yes | Your QuantGist API key (`qg_live_...` or `qg_test_...`) |
265
+
266
+ ## Development
267
+
268
+ ```bash
269
+ uv sync
270
+ uv run quantgist-mcp # run the MCP server
271
+ uv run pytest # run tests (if present)
272
+ uv run ruff check src/ # lint
273
+ uv run ruff format src/ # format
274
+ ```
275
+
276
+ ## API rate limits
277
+
278
+ The free tier allows 100 API calls/day with up to 365 days of event history. Each tool invocation makes 1–2 API calls. Upgrade at [quantgist.com/pricing](https://quantgist.com/pricing) for higher limits.
279
+
280
+ ## License
281
+
282
+ MIT
@@ -0,0 +1,270 @@
1
+ # QuantGist MCP Server
2
+
3
+ Exposes [QuantGist](https://quantgist.com) macro-economic event data as **Model Context Protocol (MCP)** tools so Claude and other AI agents can query calendars, check event proximity, and assess trade safety — all within a conversation.
4
+
5
+ ## What it does
6
+
7
+ The server registers eleven tools that any MCP-compatible client (Claude Desktop, Claude Code, custom agents) can call:
8
+
9
+ **Macro economic events**
10
+
11
+ | Tool | Description |
12
+ |------|-------------|
13
+ | `get_upcoming_events` | Events scheduled in the next N hours, filtered by impact |
14
+ | `get_events_range` | Events in a date range with optional country/symbol/impact filters |
15
+ | `check_safe_to_trade` | Is it safe to trade a symbol right now? (high-impact event proximity check) |
16
+ | `get_economic_calendar` | Full day calendar grouped by time, formatted as a schedule |
17
+ | `get_event_detail` | Full details for one event by ID (actual, forecast, previous, symbols) |
18
+
19
+ **Earnings**
20
+
21
+ | Tool | Description |
22
+ |------|-------------|
23
+ | `get_earnings_upcoming` | Next upcoming earnings reports across all tickers, with EPS/revenue estimates |
24
+ | `get_earnings_for_ticker` | Earnings history for one ticker (estimate vs actual, beat/miss, EDGAR links) |
25
+ | `get_earnings_summary` | Beat / miss / in-line counts and overall beat rate for a ticker |
26
+ | `get_earnings_surprises` | Largest EPS surprises across the market in the latest reports |
27
+ | `get_earnings_season_summary` | Index-level summary of the current earnings season |
28
+
29
+ **Markets**
30
+
31
+ | Tool | Description |
32
+ |------|-------------|
33
+ | `get_markets_overview` | End-of-day quotes for major indices and instruments (S&P 500, Nasdaq, gold, oil…) |
34
+
35
+ ## Requirements
36
+
37
+ - Python 3.10+
38
+ - A QuantGist API key — get one at [quantgist.com](https://quantgist.com) (free tier: 100 calls/day)
39
+
40
+ ## Installation
41
+
42
+ ### Option A — install from the package (recommended)
43
+
44
+ ```bash
45
+ pip install quantgist-mcp
46
+ # or with uv:
47
+ uv pip install quantgist-mcp
48
+ ```
49
+
50
+ ### Option B — install from source (development)
51
+
52
+ ```bash
53
+ git clone https://github.com/QuantGist-Technologies/QuantGist_MCP
54
+ cd QuantGist_MCP
55
+ uv sync # installs all dependencies into a venv
56
+ uv run quantgist-mcp # start the server
57
+ ```
58
+
59
+ ## Claude Desktop configuration
60
+
61
+ Locate your Claude Desktop config file:
62
+
63
+ | Platform | Path |
64
+ |----------|------|
65
+ | macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
66
+ | Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
67
+ | Linux | `~/.config/Claude/claude_desktop_config.json` |
68
+
69
+ Add the `quantgist` server block (see `claude_desktop_config_example.json`):
70
+
71
+ ```json
72
+ {
73
+ "mcpServers": {
74
+ "quantgist": {
75
+ "command": "quantgist-mcp",
76
+ "env": {
77
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
78
+ }
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
84
+ Restart Claude Desktop after saving. The tools will appear in the tool list.
85
+
86
+ ### Using `uv run` instead of a global install
87
+
88
+ If you prefer not to install globally, point Claude Desktop at `uv run`:
89
+
90
+ ```json
91
+ {
92
+ "mcpServers": {
93
+ "quantgist": {
94
+ "command": "uv",
95
+ "args": ["run", "--directory", "/absolute/path/to/Quangist_MCP", "quantgist-mcp"],
96
+ "env": {
97
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
98
+ }
99
+ }
100
+ }
101
+ }
102
+ ```
103
+
104
+ ## Claude Code configuration
105
+
106
+ Add to `.claude/mcp_settings.json` in your project (or the global `~/.claude/mcp_settings.json`):
107
+
108
+ ```json
109
+ {
110
+ "mcpServers": {
111
+ "quantgist": {
112
+ "command": "quantgist-mcp",
113
+ "env": {
114
+ "QUANTGIST_API_KEY": "qg_live_YOUR_KEY_HERE"
115
+ }
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ ## Tool reference
122
+
123
+ ### `get_upcoming_events`
124
+
125
+ Returns events in the next N hours.
126
+
127
+ | Parameter | Type | Default | Description |
128
+ |-----------|------|---------|-------------|
129
+ | `hours` | integer (1–168) | 24 | Look-ahead window in hours |
130
+ | `impact` | high \| medium \| low \| all | high | Impact filter |
131
+
132
+ ### `get_events_range`
133
+
134
+ Returns events in a date range.
135
+
136
+ | Parameter | Type | Required | Description |
137
+ |-----------|------|----------|-------------|
138
+ | `from_date` | ISO string | Yes | Start date/datetime |
139
+ | `to_date` | ISO string | Yes | End date/datetime |
140
+ | `country` | string | No | 2-letter country code (e.g. "US") |
141
+ | `impact` | enum | No | high \| medium \| low \| all |
142
+ | `symbol` | string | No | Trading symbol (e.g. "XAUUSD") |
143
+
144
+ ### `check_safe_to_trade`
145
+
146
+ Checks if a symbol is safe to trade based on nearby high-impact events.
147
+
148
+ | Parameter | Type | Default | Description |
149
+ |-----------|------|---------|-------------|
150
+ | `symbol` | string | required | Symbol to check (e.g. "XAUUSD") |
151
+ | `minutes_before` | integer (0–120) | 10 | Flag unsafe N minutes before an event |
152
+ | `minutes_after` | integer (0–120) | 5 | Flag unsafe N minutes after an event |
153
+
154
+ Returns a JSON object:
155
+ ```json
156
+ {
157
+ "symbol": "XAUUSD",
158
+ "safe": false,
159
+ "reason": "High-impact event within window: US CPI (YoY). Avoid trading XAUUSD until the window passes.",
160
+ "dangerous_events_count": 1,
161
+ "next_event": {
162
+ "id": "abc123",
163
+ "title": "US CPI (YoY)",
164
+ "currency": "USD",
165
+ "impact": "high",
166
+ "release_time_utc": "2025-01-15T13:30:00Z",
167
+ "minutes_from_now": 7.3
168
+ },
169
+ "window": { "minutes_before": 10, "minutes_after": 5 },
170
+ "checked_at_utc": "2025-01-15 13:22 UTC"
171
+ }
172
+ ```
173
+
174
+ ### `get_economic_calendar`
175
+
176
+ Returns the day's calendar grouped by release time.
177
+
178
+ | Parameter | Type | Default | Description |
179
+ |-----------|------|---------|-------------|
180
+ | `date` | ISO date | today (UTC) | Date to fetch |
181
+ | `impact` | enum | high | Impact filter |
182
+
183
+ ### `get_event_detail`
184
+
185
+ Returns full detail for one event.
186
+
187
+ | Parameter | Type | Required | Description |
188
+ |-----------|------|----------|-------------|
189
+ | `event_id` | string | Yes | Event ID from any other tool |
190
+
191
+ ### `get_earnings_upcoming`
192
+
193
+ Returns the next upcoming earnings reports across all tickers, ordered by report date.
194
+
195
+ | Parameter | Type | Default | Description |
196
+ |-----------|------|---------|-------------|
197
+ | `limit` | integer (1–100) | 20 | Number of upcoming reports to return |
198
+
199
+ ### `get_earnings_for_ticker`
200
+
201
+ Returns earnings history for a single ticker (EPS estimate vs actual, revenue, beat/miss, EDGAR links).
202
+
203
+ | Parameter | Type | Default | Description |
204
+ |-----------|------|---------|-------------|
205
+ | `ticker` | string | required | Stock ticker, e.g. "AAPL" |
206
+ | `limit` | integer (1–50) | 10 | Number of historical reports to return |
207
+
208
+ ### `get_earnings_summary`
209
+
210
+ Returns beat / miss / in-line counts and overall beat rate for a ticker.
211
+
212
+ | Parameter | Type | Required | Description |
213
+ |-----------|------|----------|-------------|
214
+ | `ticker` | string | Yes | Stock ticker, e.g. "AAPL" |
215
+
216
+ ### `get_earnings_surprises`
217
+
218
+ Returns the largest EPS surprises across the market in the most recent reports.
219
+
220
+ | Parameter | Type | Default | Description |
221
+ |-----------|------|---------|-------------|
222
+ | `limit` | integer (1–50) | 20 | Number of top surprises to return |
223
+
224
+ ### `get_earnings_season_summary`
225
+
226
+ Returns the index-level summary of the current earnings season (total reports, overall beat rate, average EPS surprise, season label). No parameters.
227
+
228
+ ### `get_markets_overview`
229
+
230
+ Returns end-of-day quotes for major market indices and instruments (S&P 500, Nasdaq, Dow Jones, gold, oil, etc.). No parameters.
231
+
232
+ ## Example prompts
233
+
234
+ These prompts work out of the box once the server is connected:
235
+
236
+ - "What high-impact events are in the next 4 hours?"
237
+ - "Is it safe to trade XAUUSD right now?"
238
+ - "Show me today's full economic calendar"
239
+ - "Show me this week's high-impact USD events"
240
+ - "What macro events affect EURUSD this Friday?"
241
+ - "Get me details on event ID abc123"
242
+ - "Check if GBPUSD is safe to trade with a 15-minute buffer before events"
243
+ - "Which companies report earnings soon?"
244
+ - "Show me AAPL's earnings beat rate"
245
+ - "What were the biggest EPS surprises this season?"
246
+ - "Give me a quick market overview"
247
+
248
+ ## Environment variables
249
+
250
+ | Variable | Required | Description |
251
+ |----------|----------|-------------|
252
+ | `QUANTGIST_API_KEY` | Yes | Your QuantGist API key (`qg_live_...` or `qg_test_...`) |
253
+
254
+ ## Development
255
+
256
+ ```bash
257
+ uv sync
258
+ uv run quantgist-mcp # run the MCP server
259
+ uv run pytest # run tests (if present)
260
+ uv run ruff check src/ # lint
261
+ uv run ruff format src/ # format
262
+ ```
263
+
264
+ ## API rate limits
265
+
266
+ The free tier allows 100 API calls/day with up to 365 days of event history. Each tool invocation makes 1–2 API calls. Upgrade at [quantgist.com/pricing](https://quantgist.com/pricing) for higher limits.
267
+
268
+ ## License
269
+
270
+ MIT
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "quantgist": {
4
+ "command": "quantgist-mcp",
5
+ "env": {
6
+ "QUANTGIST_API_KEY": "qg_live_REPLACE_WITH_YOUR_KEY"
7
+ }
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,26 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "quantgist-mcp"
7
+ version = "0.1.0"
8
+ description = "MCP server — exposes QuantGist macro event tools to Claude and AI agents"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ authors = [{ name = "QuantGist", email = "dev@quantgist.com" }]
12
+ requires-python = ">=3.10"
13
+ dependencies = [
14
+ "mcp[cli]>=1.0.0",
15
+ "httpx>=0.27.0",
16
+ ]
17
+
18
+ [project.scripts]
19
+ quantgist-mcp = "quantgist_mcp.server:main"
20
+
21
+ [tool.hatch.build.targets.wheel]
22
+ packages = ["src/quantgist_mcp"]
23
+
24
+ [tool.ruff]
25
+ line-length = 88
26
+ target-version = "py310"
@@ -0,0 +1,3 @@
1
+ """QuantGist MCP server package."""
2
+
3
+ __version__ = "0.1.0"