Skip to content

Commit 155aa6d

Browse files
Add How To guides in Markdown and HTML formats for using the IO Aerospace MCP Server
1 parent 2eea58e commit 155aa6d

File tree

5 files changed

+253
-0
lines changed

5 files changed

+253
-0
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,3 +345,8 @@ For support and questions:
345345
- Review the deployment guide in [DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md)
346346

347347
Sylvain
348+
349+
> New: A step-by-step How To guide is available:
350+
> - Markdown: [docs/HowTo.md](docs/HowTo.md)
351+
> - HTML (full): [docs/howto.html](docs/howto.html)
352+
> - HTML (compact): [docs/howto-mini.html](docs/howto-mini.html)

docs/HowTo-Wix.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
Title: How to Use the IO Aerospace MCP Server
2+
3+
Summary: Quick steps to use the hosted server, connect MCP clients, or self-host with Docker/.NET. Includes SPICE kernels info, tool calls, and troubleshooting.
4+
5+
Section: Use the hosted server (no setup)
6+
- Base URL: https://mcp.io-aerospace.org/
7+
- SSE stream (manual/web): https://mcp.io-aerospace.org/sse
8+
- Most MCP clients that support HTTP/SSE only need the base URL.
9+
10+
11+
12+
Section: Use with MCP clients
13+
- Schemas vary by client; examples below use Claude Desktop.
14+
15+
Claude Desktop (STDIO):
16+
```json
17+
{
18+
"mcpServers": {
19+
"astrodynamics": {
20+
"command": "/path/to/Server.Stdio",
21+
"args": ["-k", "/path/to/kernels"]
22+
}
23+
}
24+
}
25+
```
26+
27+
Claude Desktop (STDIO with env):
28+
```json
29+
{
30+
"mcpServers": {
31+
"astrodynamics": {
32+
"command": "/path/to/Server.Stdio",
33+
"args": [],
34+
"env": {
35+
"IO_DATA_DIR": "/path/to/kernels"
36+
}
37+
}
38+
}
39+
}
40+
```
41+
42+
Claude Desktop (HTTP/SSE to hosted):
43+
```json
44+
{
45+
"mcpServers": {
46+
"astrodynamics": {
47+
"transport": {
48+
"type": "http",
49+
"url": "https://mcp.io-aerospace.org"
50+
}
51+
}
52+
}
53+
}
54+
```
55+
56+
Section: Self-host with Docker
57+
Development:
58+
```bash
59+
git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
60+
cd mcp-server
61+
docker-compose up
62+
```
63+
- HTTP server: http://localhost:8080
64+
- Kernels mounted from ./Data/SolarSystem
65+
66+
Production:
67+
1) Copy and customize: `cp docker-compose.prod.example.yml docker-compose.prod.yml`
68+
2) Ensure kernels at ./data/solarsystem/
69+
3) Deploy: `./deploy-production.sh`
70+
71+
Section: Self-host with .NET
72+
Build:
73+
```bash
74+
git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
75+
cd mcp-server
76+
dotnet build
77+
```
78+
79+
Provide SPICE kernels for STDIO:
80+
```bash
81+
# CLI flag (highest priority)
82+
./Server.Stdio -k /path/to/your/spice/kernels
83+
84+
# Environment (Linux/macOS)
85+
export IO_DATA_DIR="/path/to/your/spice/kernels"
86+
./Server.Stdio
87+
88+
# Windows (PowerShell)
89+
$env:IO_DATA_DIR="C:\\path\\to\\your\\spice\\kernels"
90+
./Server.Stdio.exe
91+
```
92+
93+
Choose transport:
94+
- STDIO (recommended): `./Server.Stdio -k /path/to/kernels`
95+
- HTTP/SSE (web): `cd Server.Sse && dotnet run`http://localhost:8080
96+
97+
Section: Call tools (Node.js MCP SDK)
98+
```ts
99+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
100+
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/transport/http.js";
101+
102+
const transport = new HttpClientTransport(new URL("https://mcp.io-aerospace.org"));
103+
const client = new Client(
104+
{ name: "example-client", version: "1.0.0" },
105+
{ capabilities: { tools: {}, prompts: {}, resources: {} } },
106+
transport
107+
);
108+
109+
await client.connect();
110+
const tools = await client.listTools();
111+
console.log("Tools:", tools);
112+
```
113+
114+
Code (optional quick check in browser/Node):
115+
```js
116+
const eventSource = new EventSource('https://mcp.io-aerospace.org/sse');
117+
118+
eventSource.onmessage = (event) => {
119+
console.log('message', event.data);
120+
};
121+
122+
eventSource.onerror = (err) => {
123+
console.error('sse error', err);
124+
};
125+
```
126+
127+
Section: Required kernel files (typical set)
128+
- de440s.bsp (planetary ephemeris)
129+
- latest_leapseconds.tls (leap seconds)
130+
- pck00011.tpc (planetary constants)
131+
- earth_latest_high_prec.bpc (Earth orientation)
132+
- Additional kernels as needed
133+
134+
Section: Troubleshooting
135+
- "Kernels directory does not exist": Check -k or IO_DATA_DIR path.
136+
- "Failed to load kernel": Ensure required files are present and readable.
137+
- HTTP connection errors: Check ports, firewall, proxies.
138+
- Logs: `docker-compose logs -f` (dev) or `docker logs -f <container>` (prod)
139+
140+
Section: Support & links
141+
- Hosted: https://mcp.io-aerospace.org/
142+
- Source: https://github.com/IO-Aerospace-software-engineering/mcp-server
143+
- Astrodynamics: https://github.com/IO-Aerospace-software-engineering/Astrodynamics
144+
- Deployment guide: ./DEPLOYMENT_GUIDE.md
145+
- Sponsor: https://github.com/sponsors/IO-Aerospace-software-engineering
146+

docs/HowTo.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

docs/howto-mini.html

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width,initial-scale=1" />
6+
<title>IO Aerospace MCP Server – Quick How To</title>
7+
<style>
8+
:root { color-scheme: light dark; }
9+
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Arial, sans-serif; line-height: 1.5; margin: 0; }
10+
main { max-width: 860px; margin: 0 auto; padding: 28px 16px 56px; }
11+
h1, h2 { margin: 0 0 12px; line-height: 1.2; }
12+
section { margin: 20px 0 24px; }
13+
pre { background: rgba(127,127,127,.12); padding: 10px 12px; border-radius: 8px; overflow: auto; }
14+
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size: 0.95em; }
15+
ul { margin: 8px 0 0 18px; }
16+
a { color: #2563eb; text-decoration: none; }
17+
a:hover { text-decoration: underline; }
18+
</style>
19+
</head>
20+
<body>
21+
<main>
22+
<h1>Quick How To</h1>
23+
<p>Use the hosted server now, or self-host fast with Docker or .NET. Minimal steps below.</p>
24+
25+
<section>
26+
<h2>1) Hosted (no setup)</h2>
27+
<ul>
28+
<li>Base URL: <a href="https://mcp.io-aerospace.org" target="_blank" rel="noreferrer noopener">https://mcp.io-aerospace.org</a></li>
29+
<li>SSE (manual/web): <a href="https://mcp.io-aerospace.org/sse" target="_blank" rel="noreferrer noopener">/sse</a></li>
30+
<li>Most MCP clients only need the base URL.</li>
31+
</ul>
32+
</section>
33+
34+
<section>
35+
<h2>2) MCP client (Claude Desktop, HTTP)</h2>
36+
<pre><code class="language-json">{
37+
"mcpServers": {
38+
"astrodynamics": {
39+
"transport": { "type": "http", "url": "https://mcp.io-aerospace.org" }
40+
}
41+
}
42+
}
43+
</code></pre>
44+
</section>
45+
46+
<section>
47+
<h2>3) Self-host quick</h2>
48+
<p><strong>Docker (dev):</strong></p>
49+
<pre><code class="language-bash">git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
50+
cd mcp-server
51+
docker-compose up
52+
</code></pre>
53+
<ul>
54+
<li>HTTP: http://localhost:8080</li>
55+
</ul>
56+
57+
<p><strong>.NET:</strong></p>
58+
<pre><code class="language-bash">git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
59+
cd mcp-server
60+
dotnet build
61+
# STDIO (MCP clients)
62+
./Server.Stdio -k /path/to/kernels
63+
# or via env
64+
export IO_DATA_DIR="/path/to/kernels" && ./Server.Stdio
65+
# HTTP/SSE (web)
66+
cd Server.Sse && dotnet run # http://localhost:8080
67+
</code></pre>
68+
</section>
69+
70+
<section>
71+
<h2>4) Kernels (minimal set)</h2>
72+
<ul>
73+
<li>de440s.bsp (ephemeris)</li>
74+
<li>latest_leapseconds.tls</li>
75+
<li>pck00011.tpc</li>
76+
<li>earth_latest_high_prec.bpc</li>
77+
</ul>
78+
</section>
79+
80+
<section>
81+
<h2>5) Troubleshooting</h2>
82+
<ul>
83+
<li>Missing kernels dir: fix <code>-k</code> or <code>IO_DATA_DIR</code> path.</li>
84+
<li>Kernel load failed: ensure files exist and are readable.</li>
85+
<li>HTTP errors: check ports/firewall/proxy.</li>
86+
</ul>
87+
</section>
88+
89+
<section>
90+
<h2>Links</h2>
91+
<ul>
92+
<li>Hosted: <a href="https://mcp.io-aerospace.org" target="_blank" rel="noreferrer noopener">mcp.io-aerospace.org</a></li>
93+
<li>Repo: <a href="https://github.com/IO-Aerospace-software-engineering/mcp-server" target="_blank" rel="noreferrer noopener">GitHub</a></li>
94+
<li>Astrodynamics framework: <a href="https://github.com/IO-Aerospace-software-engineering/Astrodynamics" target="_blank" rel="noreferrer noopener">GitHub</a></li>
95+
</ul>
96+
</section>
97+
</main>
98+
</body>
99+
</html>
100+

docs/howto.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

0 commit comments

Comments
 (0)