-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.yaml
More file actions
98 lines (98 loc) · 3.64 KB
/
openapi.yaml
File metadata and controls
98 lines (98 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
openapi: 3.0.3
info:
title: CornerStone MCP x402 Tools
description: Payment-protected tools (run_prediction, run_backtest, open_bank_account, scores). Use x402 flow (402 → pay → retry with PAYMENT-SIGNATURE).
version: 1.0.0
servers:
- url: https://arnstein.ch/mcp
description: MCP server
paths:
/mcp/prediction/{symbol}:
get:
summary: run_prediction
description: Stock prediction for symbol. May return 402 Payment Required; pay via x402 facilitator then retry with PAYMENT-SIGNATURE.
parameters:
- name: symbol
in: path
required: true
schema: { type: string, example: "AAPL" }
- name: horizon
in: query
schema: { type: integer, default: 30 }
responses:
"200": { description: Prediction result (forecast, model_id) }
"402": { description: Payment required (x402 payload) }
/mcp/backtest:
post:
summary: run_backtest
description: Backtest trading strategy. May return 402; pay then retry with PAYMENT-SIGNATURE.
requestBody:
content:
application/json:
schema:
type: object
properties:
symbol: { type: string }
start: { type: string }
end: { type: string }
strategy: { type: string }
responses:
"200": { description: Backtest result (total_return, sharpe_ratio, etc.) }
"402": { description: Payment required }
/mcp/banking/open:
post:
summary: open_bank_account
description: CornerStone bank link / open bank account. May return 402; pay then retry.
responses:
"200": { description: Link token or status }
"402": { description: Payment required }
/mcp/scores/borrower:
get:
summary: get_borrower_score
description: CornerStone borrower score for agent wallet. Query wallet=0x...
parameters:
- name: wallet
in: query
required: true
schema: { type: string }
responses:
"200": { description: CornerStone borrower score (plaid_score in response) }
"402": { description: Payment required }
/mcp/scores/agent:
get:
summary: get_agent_reputation_score
description: Agent reputation score. Query wallet=0x...
parameters:
- name: wallet
in: query
required: true
schema: { type: string }
responses:
"200": { description: Score payload }
"402": { description: Payment required }
/mcp/scores/reputation-by-email:
get:
summary: get_agent_reputation_score_by_email
description: Agent reputation score by email (resolves from onboarding submissions). Higher price (base + extra). Requires SCORE_BY_EMAIL_ENABLED.
parameters:
- name: email
in: query
required: true
schema: { type: string, format: email }
responses:
"200": { description: "Score payload (reputation_score, resolved_agent)" }
"402": { description: Payment required }
"404": { description: No agent found for email }
/mcp/scores/borrower-by-email:
get:
summary: get_borrower_score_by_email
description: CornerStone borrower score by email (resolves from onboarding submissions). Higher price (base + extra). Requires SCORE_BY_EMAIL_ENABLED.
parameters:
- name: email
in: query
required: true
schema: { type: string, format: email }
responses:
"200": { description: "Score payload (score, resolved_agent)" }
"402": { description: Payment required }
"404": { description: No agent found for email }