You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Aetheria MCP (Model Context Protocol) server now uses HTTP streaming transport instead of stdio, making it easier to integrate with web applications and HTTP clients.
3
+
The Aetheria MCP (Model Context Protocol) server serves static world reference documentation as markdown files. It supports both stdio and HTTP transports.
4
4
5
5
## Starting the Server
6
6
7
+
### Development Mode (stdio transport)
7
8
```bash
8
-
cdsite
9
-
npm run mcp
9
+
cdmcp-server
10
+
npm run dev
10
11
```
11
12
12
-
The server will start on port 3001 and bind to all network interfaces (0.0.0.0) by default. You can customize the configuration with environment variables:
13
+
### HTTP Mode (for web integration)
14
+
```bash
15
+
cd mcp-server
16
+
npm run build
17
+
npm run start-http
18
+
```
19
+
20
+
The HTTP server will start on port 3000 and bind to all network interfaces (0.0.0.0) by default. You can customize with environment variables:
13
21
14
22
```bash
15
23
# Change port
16
-
MCP_PORT=8080 npm run mcp
24
+
MCP_PORT=8080 npm run start-http
17
25
18
26
# Bind to specific interface (localhost only)
19
-
MCP_HOST=127.0.0.1 npm run mcp
20
-
21
-
# Bind to all interfaces (default)
22
-
MCP_HOST=0.0.0.0 npm run mcp
27
+
MCP_HOST=127.0.0.1 npm run start-http
23
28
24
29
# Custom port and host
25
-
MCP_HOST=192.168.1.100 MCP_PORT=8080 npm run mcp
30
+
MCP_HOST=192.168.1.100 MCP_PORT=8080 npm run start-http
26
31
```
27
32
28
33
## Network Access
29
34
30
-
By default, the server binds to `0.0.0.0:3001`, making it accessible from:
31
-
-**Local machine**: `http://localhost:3001`
32
-
-**Local network**: `http://[your-ip]:3001`
33
-
-**Docker/containers**: `http://0.0.0.0:3001`
34
-
35
-
If you want to restrict access to localhost only, set `MCP_HOST=127.0.0.1`.
35
+
By default, the HTTP server binds to `0.0.0.0:3000`, making it accessible from:
36
+
-**Local machine**: `http://localhost:3000`
37
+
-**Local network**: `http://[your-ip]:3000`
38
+
-**Docker/containers**: `http://0.0.0.0:3000`
36
39
37
40
## Endpoints
38
41
39
42
### SSE (Server-Sent Events) Endpoint
40
-
-**URL**: `http://localhost:3001`
43
+
-**URL**: `http://localhost:3000`
41
44
-**Method**: GET
42
45
-**Headers**: `Accept: text/event-stream`
43
-
-**Use case**: For persistent connections and real-time streaming
-**Search Capability**: Full-text search across all content
133
145
134
146
## Available Resources
135
147
136
-
The server provides access to the following Aetheria pages:
137
-
-`aetheria://pages/magic` - Magic system information
138
-
-`aetheria://pages/classes` - Character classes
139
-
-`aetheria://pages/equipment` - Equipment and items
140
-
-`aetheria://pages/politics` - Political systems
141
-
-`aetheria://pages/alignment` - Alignment system
142
-
-`aetheria://pages/religion` - Religious information
143
-
-`aetheria://pages/relationships` - Character relationships
148
+
The server provides a single resource endpoint:
149
+
-`aetheria://page` - Get any page from the Aetheria world reference
150
+
151
+
Available pages include:
152
+
-`alignment` - Character alignment system
153
+
-`classes` - Character classes and specializations
154
+
-`equipment` - Weapons, armor, and items
155
+
-`magic` - Magic schools and spells
156
+
-`politics` - Political systems and organizations
157
+
-`religion` - Deities and religious systems
158
+
-`relationships` - Character relationships
159
+
-`skills` - Skills and abilities
160
+
-`index` - Main overview page
144
161
145
162
## Available Tools
146
163
147
-
-`search_aetheria_pages` - Search across all Aetheria content for specific terms
164
+
-`search_pages` - Search across all Aetheria documentation
165
+
-`get_page_hierarchy` - Get structured page hierarchy
166
+
-`generate_character_sheet` - Generate character sheets (if available)
167
+
-`extract_entities` - Extract specific entity types
148
168
149
169
## Technical Details
150
170
151
-
-**Transport**: HTTP Streaming (SSE + JSON-RPC)
171
+
-**Architecture**: Simple file-based serving (no browser automation)
152
172
-**Protocol**: Model Context Protocol (MCP) 2024-11-05
153
-
-**Session**: UUID-based session management
154
-
-**Rendering**: Puppeteer for dynamic content extraction
155
-
-**CORS**: Enabled for cross-origin access
156
-
-**Port**: 3001 (configurable via MCP_PORT)
173
+
-**Transport**: HTTP Streaming + stdio options
174
+
-**Performance**: Fast static file serving
175
+
-**Dependencies**: Minimal (no Puppeteer, no heavy frameworks)
176
+
-**Data Source**: Pre-generated markdown files in `/docs` directory
177
+
-**Port**: 3000 (configurable via MCP_PORT)
178
+
179
+
## Development Workflow
180
+
181
+
1.**Generate docs**: Content is generated from the SolidJS site
182
+
2.**Build server**: `npm run build` compiles TypeScript
183
+
3.**Start server**: `npm run start-http` for HTTP access
184
+
4.**Test**: Use curl commands above to verify functionality
157
185
158
-
The server automatically handles session initialization, cleanup, and provides both streaming and request/response modes depending on the client needs.
186
+
The server is lightweight, fast, and reliable - perfect for AI model integration without the complexity of browser automation.
0 commit comments