Skip to content

Commit 3dbe1d3

Browse files
Update docs for streamable-HTTP as default transport
Revised documentation to prioritize streamable-HTTP over legacy SSE, updated examples, renamed `Server.Sse` to `Server.Http`, and clarified backward compatibility. Added explicit notes and sections for legacy SSE usage while ensuring consistency across files.
1 parent 91f8bf5 commit 3dbe1d3

File tree

3 files changed

+59
-33
lines changed

3 files changed

+59
-33
lines changed

README.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
## Use it now
44
> Hosted in production (no setup needed): https://mcp.io-aerospace.org/
55
>
6-
> SSE endpoint: https://mcp.io-aerospace.org/sse
6+
> **Transport Protocols:**
7+
> - **Streamable-HTTP** (recommended): https://mcp.io-aerospace.org/ - Modern MCP transport protocol
8+
> - **SSE** (legacy): https://mcp.io-aerospace.org/sse - For backward compatibility with older MCP clients only
79
>
8-
> Note: Most MCP clients that support HTTP/SSE only need the base URL; they will connect to the SSE stream internally (commonly at `/sse`). The explicit `/sse` URL is provided here for manual/web integrations.
10+
> Note: Use the base URL with modern MCP clients - they will automatically use the streamable-HTTP transport. Only use the `/sse` endpoint if you have an older client that specifically requires SSE protocol.
911
1012
A Model Context Protocol (MCP) server for aerospace and astrodynamics calculations, providing tools for celestial body ephemeris, orbital mechanics, and space mission analysis.
1113

1214
## Overview
1315

1416
This MCP server provides two transport options:
15-
- **STDIO Transport**: Standard input/output communication (recommended for MCP clients)
16-
- **SSE Transport**: HTTP Server-Sent Events for web-based integrations
17+
- **STDIO Transport**: Standard input/output communication (recommended for local MCP clients)
18+
- **HTTP Transport**: Supports both modern streamable-HTTP and legacy SSE protocols for web-based integrations
19+
- **Streamable-HTTP** (default, recommended): Modern MCP protocol at the base URL
20+
- **SSE** (legacy): Available at `/sse` endpoint for backward compatibility only
1721

1822
The server includes comprehensive tools for:
1923
- Celestial body ephemeris and state vector calculations
@@ -32,11 +36,14 @@ This server is powered by the IO Aerospace Astrodynamics framework, which provid
3236
## Use the hosted server (recommended)
3337

3438
You can start integrating immediately against the production instance:
35-
- Base URL: https://mcp.io-aerospace.org/
36-
- SSE stream: https://mcp.io-aerospace.org/sse
39+
- **Base URL (streamable-HTTP)**: https://mcp.io-aerospace.org/ - Use this with modern MCP clients
40+
- **SSE endpoint (legacy)**: https://mcp.io-aerospace.org/sse - Only for older clients requiring SSE protocol
3741

38-
Example (browser/Node):
42+
**Important**: Modern MCP clients (2024+) should use the base URL with streamable-HTTP transport. The SSE endpoint is maintained only for backward compatibility with older implementations.
43+
44+
Example (legacy SSE - browser/Node):
3945
```javascript
46+
// Only use this if you have an old client that requires SSE
4047
const eventSource = new EventSource('https://mcp.io-aerospace.org/sse');
4148

4249
eventSource.onmessage = (event) => {
@@ -61,7 +68,7 @@ mcp-server/
6168
├── Data/ # Data providers and solar system kernels
6269
│ ├── SolarSystem/ # SPICE kernel files
6370
│ └── SolarSystemObjects/ # Celestial body definitions
64-
├── Server.Sse/ # HTTP/SSE transport server
71+
├── Server.Http/ # HTTP transport server (streamable-HTTP + legacy SSE)
6572
├── Server.Stdio/ # STDIO transport server
6673
├── docker-compose.yml # Development Docker configuration
6774
├── docker-compose.prod.example.yml # Production template
@@ -126,7 +133,7 @@ cd mcp-server
126133
docker-compose up
127134
```
128135

129-
The SSE server will be available at `http://localhost:8080`.
136+
The HTTP server will be available at `http://localhost:8080`.
130137

131138
#### Production
132139
1. Copy `docker-compose.prod.example.yml` to `docker-compose.prod.yml`
@@ -170,7 +177,7 @@ $env:IO_DATA_DIR="C:\path\to\your\spice\kernels"
170177
./Server.Stdio.exe
171178
```
172179

173-
- SSE server configuration: may use appsettings.json as before.
180+
- HTTP server configuration: may use appsettings.json as before.
174181

175182
**Required Kernel Files:**
176183
```
@@ -196,12 +203,12 @@ kernels/
196203
./Server.Stdio -k /path/to/kernels
197204
```
198205

199-
##### SSE Transport (For Web/HTTP)
206+
###### HTTP Transport (For Web/HTTP)
200207
```bash
201-
cd Server.Sse
208+
cd Server.Http
202209
dotnet run
203210
# Server available at http://localhost:8080
204-
```
211+
``
205212

206213
## Docker Configuration
207214

@@ -252,7 +259,7 @@ Alternatively, set an environment variable if your client supports it:
252259
```
253260

254261
### Claude Desktop Configuration (HTTP transport to hosted server)
255-
Use your production server over HTTP/SSE by specifying the base URL only:
262+
Use your production server over HTTP by specifying the base URL only. Modern MCP clients will use streamable-HTTP:
256263

257264
```json
258265
{
@@ -267,22 +274,24 @@ Use your production server over HTTP/SSE by specifying the base URL only:
267274
}
268275
```
269276

270-
- Only the base URL is required; the client will use the SSE stream internally (commonly at `/sse`).
271-
- This schema is for Claude Desktop; other clients may use different keys.
277+
- The base URL uses the modern **streamable-HTTP** transport protocol
278+
- Do NOT append `/sse` - that's only for legacy SSE clients
279+
- This schema is for Claude Desktop; other clients may use different keys
272280
273281
### Other MCP clients
274282
- Provide the base URL: https://mcp.io-aerospace.org
275283
- Add headers (e.g., Authorization) only if your deployment requires it
276284
- Don’t append `/sse` unless your client documentation requires it; most discover the SSE path
277285
- Refer to your client’s documentation for the exact JSON schema or settings UI
278286
279-
### Node.js MCP client (HTTP/SSE)
280-
Using the MCP SDK to connect to the hosted server and list tools:
287+
### Node.js MCP client (streamable-HTTP)
288+
Using the MCP SDK to connect to the hosted server with modern streamable-HTTP transport:
281289
282290
```ts
283291
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
284292
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/transport/http.js";
285293
294+
// Modern streamable-HTTP transport (recommended)
286295
const transport = new HttpClientTransport(new URL("https://mcp.io-aerospace.org"));
287296
const client = new Client(
288297
{ name: "example-client", version: "1.0.0" },

docs/HowTo-Wix.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ Title: How to Use the IO Aerospace MCP Server
33
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.
44

55
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.
6+
- **Base URL (streamable-HTTP, recommended)**: https://mcp.io-aerospace.org/
7+
- **SSE endpoint (legacy)**: https://mcp.io-aerospace.org/sse - Only for backward compatibility
8+
- Modern MCP clients (2024+) automatically use streamable-HTTP transport with the base URL
9+
- Only use the `/sse` endpoint if you have an older client that specifically requires SSE protocol
910

1011

1112

@@ -39,7 +40,7 @@ Claude Desktop (STDIO with env):
3940
}
4041
```
4142

42-
Claude Desktop (HTTP/SSE to hosted):
43+
Claude Desktop (HTTP to hosted, streamable-HTTP):
4344
```json
4445
{
4546
"mcpServers": {
@@ -52,6 +53,7 @@ Claude Desktop (HTTP/SSE to hosted):
5253
}
5354
}
5455
```
56+
Note: Uses modern streamable-HTTP transport. Do NOT append `/sse`.
5557

5658
Section: Self-host with Docker
5759
Development:
@@ -91,14 +93,15 @@ $env:IO_DATA_DIR="C:\\path\\to\\your\\spice\\kernels"
9193
```
9294

9395
Choose transport:
94-
- STDIO (recommended): `./Server.Stdio -k /path/to/kernels`
95-
- HTTP/SSE (web): `cd Server.Sse && dotnet run`http://localhost:8080
96+
- STDIO (recommended for local): `./Server.Stdio -k /path/to/kernels`
97+
- HTTP (web, supports streamable-HTTP + legacy SSE): `cd Server.Http && dotnet run`http://localhost:8080
9698

97-
Section: Call tools (Node.js MCP SDK)
99+
Section: Call tools (Node.js MCP SDK - streamable-HTTP)
98100
```ts
99101
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
100102
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/transport/http.js";
101103

104+
// Modern streamable-HTTP transport
102105
const transport = new HttpClientTransport(new URL("https://mcp.io-aerospace.org"));
103106
const client = new Client(
104107
{ name: "example-client", version: "1.0.0" },
@@ -111,8 +114,10 @@ const tools = await client.listTools();
111114
console.log("Tools:", tools);
112115
```
113116

114-
Code (optional quick check in browser/Node):
117+
Section: Legacy SSE example (only for old clients)
118+
Code (optional quick check in browser/Node - legacy SSE only):
115119
```js
120+
// ONLY use this if you have an older client that requires SSE
116121
const eventSource = new EventSource('https://mcp.io-aerospace.org/sse');
117122

118123
eventSource.onmessage = (event) => {

docs/howto-mini.html

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,17 @@
2525
<p>Use the hosted server now, or self-host fast with Docker or .NET. Minimal steps below.</p>
2626

2727
<section>
28-
<h3>Hosted (no setup)</h3>
28+
<h3>Hosted (no setup) - Streamable-HTTP</h3>
2929
<ul>
30-
<li>Base URL: <a href="https://mcp.io-aerospace.org" target="_blank" rel="noreferrer noopener">https://mcp.io-aerospace.org</a></li>
31-
<li>SSE (manual/web): <a href="https://mcp.io-aerospace.org/sse" target="_blank" rel="noreferrer noopener">/sse</a></li>
32-
<li>Most MCP clients only need the base URL.</li>
30+
<li><strong>Base URL (streamable-HTTP, recommended)</strong>: <a href="https://mcp.io-aerospace.org" target="_blank" rel="noreferrer noopener">https://mcp.io-aerospace.org</a></li>
31+
<li><strong>SSE endpoint (legacy)</strong>: <a href="https://mcp.io-aerospace.org/sse" target="_blank" rel="noreferrer noopener">/sse</a> - Only for backward compatibility</li>
32+
<li>Modern MCP clients (2024+) automatically use streamable-HTTP with the base URL.</li>
33+
<li>Only use <code>/sse</code> if you have an older client that specifically requires SSE protocol.</li>
3334
</ul>
3435
</section>
3536

3637
<section>
37-
<h3>MCP client (Claude Desktop, HTTP)</h3>
38+
<h3>MCP client (Claude Desktop, HTTP - Streamable-HTTP)</h3>
3839
<pre><code class="language-json">{
3940
"mcpServers": {
4041
"astrodynamics": {
@@ -43,6 +44,7 @@ <h3>MCP client (Claude Desktop, HTTP)</h3>
4344
}
4445
}
4546
</code></pre>
47+
<p><small>Uses modern streamable-HTTP transport. Do NOT append <code>/sse</code>.</small></p>
4648
</section>
4749

4850
<section>
@@ -96,8 +98,8 @@ <h3>Self-host quick</h3>
9698
./Server.Stdio -k /path/to/kernels
9799
# or via env
98100
export IO_DATA_DIR="/path/to/kernels" && ./Server.Stdio
99-
# HTTP/SSE (web)
100-
cd Server.Sse && dotnet run # http://localhost:8080
101+
# HTTP (web - supports streamable-HTTP + legacy SSE)
102+
cd Server.Http && dotnet run # http://localhost:8080
101103
</code></pre>
102104
</section>
103105

@@ -120,6 +122,16 @@ <h3>Troubleshooting</h3>
120122
</ul>
121123
</section>
122124

125+
<section>
126+
<h3>Legacy SSE (old clients only)</h3>
127+
<p><small>Only use this if you have an older client that requires SSE protocol:</small></p>
128+
<pre><code class="language-javascript">// ONLY for legacy SSE clients
129+
const eventSource = new EventSource('https://mcp.io-aerospace.org/sse');
130+
eventSource.onmessage = (event) => console.log('message', event.data);
131+
eventSource.onerror = (err) => console.error('sse error', err);
132+
</code></pre>
133+
</section>
134+
123135
<section>
124136
<h3>Links</h3>
125137
<ul>

0 commit comments

Comments
 (0)