Skip to content

Commit def0e7d

Browse files
committed
Updated the README files to make things cleaner - hopefully
1 parent 5fbe5df commit def0e7d

File tree

4 files changed

+313
-349
lines changed

4 files changed

+313
-349
lines changed

README.md

Lines changed: 118 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,107 +2,161 @@
22

33
[![CI](https://github.com/docknetwork/truvera-mcp-server/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/docknetwork/truvera-mcp-server/actions/workflows/ci.yml)
44

5-
A monorepo containing multiple Model Context Protocol (MCP) servers for Truvera API integrations.
5+
A monorepo containing Model Context Protocol (MCP) servers for Truvera API integrations. MCP servers let AI assistants (Claude, GitHub Copilot, etc.) call real Truvera API operations as tools.
66

7-
## Repository Structure
7+
## Available Servers
8+
9+
| Server | Status | Description |
10+
|--------|--------|-------------|
11+
| [`apps/truvera-api`](apps/truvera-api/README.md) | ✅ Production-ready | Verifiable credentials, DIDs, presentations, schemas, profiles, AP2 mandates |
12+
| [`apps/wallet-server`](apps/wallet-server/README.md) | 🚧 Work in progress | Truvera Wallet SDK integration — not ready for use |
13+
14+
## Quickstart (5 minutes)
815

9-
This repository uses an `apps/` directory structure to organize multiple MCP servers:
16+
### Prerequisites
1017

18+
- Node.js 18+
19+
- Docker (recommended — builds and runs the server in a container)
20+
- A Truvera API key ([sign up at truvera.io](https://truvera.io))
21+
22+
### 1. Clone and install
23+
24+
```bash
25+
git clone https://github.com/docknetwork/truvera-mcp-server.git
26+
cd truvera-mcp-server
27+
npm install
1128
```
12-
truvera-mcp-server/
13-
├── apps/
14-
│ └── truvera-api/ # Main Truvera MCP Server
15-
│ ├── src/ # Source code
16-
│ ├── tests/ # Test suites
17-
│ ├── scripts/ # Build scripts
18-
│ ├── package.json # Dependencies
19-
│ ├── Dockerfile # Container build
20-
│ └── README.md # Server-specific documentation
21-
├── .github/
22-
│ └── workflows/ # CI/CD pipelines
23-
├── .vscode/ # VS Code configuration
24-
├── docker-compose.yml # Multi-service orchestration
25-
└── README.md # This file
29+
30+
### 2. Configure environment
31+
32+
```bash
33+
cp apps/truvera-api/.env.example apps/truvera-api/.env
34+
# Edit apps/truvera-api/.env and set your TRUVERA_API_KEY
2635
```
2736

28-
## Available MCP Servers
37+
### 3. Build and run with Docker (recommended)
38+
39+
```bash
40+
# Build the Docker image
41+
npm run docker:build:api
42+
43+
# Start the server in HTTP mode on port 3000
44+
npm run docker:run:api
2945

30-
### 1. Truvera MCP Server
46+
# Verify it's running (should return {"status":"ok",...})
47+
curl http://localhost:3000/health
48+
```
3149

32-
The main MCP server that exposes Truvera API functionality as MCP tools. Supports verifiable credentials, DIDs, presentations, and more.
50+
The server is now running and ready to connect to your AI assistant. See [Connecting to AI Assistants](#connecting-to-ai-assistants) below.
3351

34-
**📖 [Read the full documentation](apps/truvera-api/README.md)**
52+
### Alternative: Run locally without Docker
3553

36-
**Quick start:**
3754
```bash
3855
cd apps/truvera-api
39-
npm install
40-
npm run dev
56+
MCP_MODE=http npm run dev # HTTP transport (recommended)
4157
```
4258

43-
## Docker Compose
59+
> **Transport modes:** HTTP transport is well-tested and recommended for development and production. STDIO transport is experimental — use it only if your client requires it and you are comfortable with limited test coverage.
4460
45-
You can run all MCP servers using Docker Compose from the root directory:
61+
## Connecting to AI Assistants
4662

47-
```bash
48-
# Start all services
49-
docker-compose up -d
63+
Once the server is running in HTTP mode on port 3000:
64+
65+
### Claude Desktop
5066

51-
# View logs
52-
docker-compose logs -f
67+
Add to your Claude Desktop config:
68+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
69+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
70+
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
5371

54-
# Stop all services
55-
docker-compose down
72+
```json
73+
{
74+
"mcpServers": {
75+
"truvera": {
76+
"command": "npx",
77+
"args": ["-y", "mcp-remote", "http://localhost:3000/mcp", "--insecure"]
78+
}
79+
}
80+
}
5681
```
5782

58-
## Development
83+
### GitHub Copilot (VS Code)
5984

60-
### Adding a New MCP Server
85+
The workspace `.vscode/mcp.json` is already configured. Start the server, then in the Copilot chat pane click **Configure tools...****Update tools** under `truvera-mcp-service-vs-code`.
6186

62-
1. Create a new directory under `apps/`:
63-
```bash
64-
mkdir -p apps/your-new-server
65-
```
87+
## MCP Inspector (Shared for All Servers)
6688

67-
2. Set up your server structure with:
68-
- `package.json` - Dependencies and scripts
69-
- `tsconfig.json` - TypeScript configuration
70-
- `src/` - Source code
71-
- `tests/` - Test suites
72-
- `README.md` - Documentation
89+
Use MCP Inspector to debug or manually exercise tools from any MCP server in this repo (for example, `apps/truvera-api` now, and `apps/wallet-server` as it matures).
7390

74-
3. Add build tasks to `.vscode/tasks.json`
91+
### 1. Start the Inspector UI
7592

76-
4. Add CI/CD steps to `.github/workflows/ci.yml`
93+
```bash
94+
npx @modelcontextprotocol/inspector
95+
```
7796

78-
5. Add service to `docker-compose.yml` if needed
97+
### 2. Start the MCP server you want to inspect
7998

80-
### VS Code Configuration
99+
Truvera API server (HTTP mode):
81100

82-
The workspace is configured with tasks for each MCP server:
83-
- `build:truvera` - Build the Truvera server
84-
- `dev:truvera` - Run Truvera server in development mode
101+
```bash
102+
npm run docker:run:api
103+
# or: cd apps/truvera-api && MCP_MODE=http npm run dev
104+
```
85105

86-
Use `Ctrl+Shift+B` (or `Cmd+Shift+B` on macOS) to access build tasks.
106+
Wallet server (HTTP mode, work in progress):
87107

88-
## Environment Variables
108+
```bash
109+
cd apps/wallet-server
110+
MCP_MODE=http npm run dev
111+
```
89112

90-
Each MCP server may require different environment variables. See the individual server README files for details.
113+
### 3. Connect from Inspector
91114

92-
For the Truvera server, see [apps/truvera-api/README.md](apps/truvera-api/README.md#environment-variables).
115+
1. Open `http://localhost:6274`
116+
2. Choose Streamable HTTP transport
117+
3. Connect to the target server endpoint:
118+
- Truvera API: `http://localhost:3000/mcp`
119+
- Wallet server: `http://localhost:3010/mcp` (if `MCP_PORT=3010`)
93120

94-
## CI/CD
121+
If connection fails, check the target server health endpoint first (`/health`) and confirm ports/env values.
95122

96-
This repository uses GitHub Actions for continuous integration. The workflow:
97-
- Builds each MCP server
98-
- Runs unit, integration, and e2e tests
99-
- Performs smoke tests
123+
## Repository Structure
100124

101-
See [.github/workflows/ci.yml](.github/workflows/ci.yml) for details.
125+
```
126+
truvera-mcp-server/
127+
├── apps/
128+
│ ├── truvera-api/ # ✅ Truvera REST API MCP server (production-ready)
129+
│ └── wallet-server/ # 🚧 Wallet SDK MCP server (work in progress)
130+
├── packages/
131+
│ └── mcp-shared/ # Shared MCP server bootstrap utilities
132+
├── .vscode/ # VS Code tasks, launch configs, MCP server config
133+
├── docker-compose.yml # Compose file for running the truvera-api service
134+
└── README.md # This file
135+
```
102136

103-
## License
137+
## Development Commands
104138

105-
See individual MCP server directories for licensing information.
139+
Run from the repo root:
140+
141+
```bash
142+
npm install # Install all workspace dependencies
143+
npm run build # Build all packages and apps
144+
npm run test # Run all tests
145+
npm run docker:build:api # Build the truvera-api Docker image
146+
npm run docker:run:api # Run the truvera-api container on port 3000
147+
```
148+
149+
For development server with hot-reload (HTTP transport):
150+
151+
```bash
152+
MCP_MODE=http npm run dev:api
153+
```
154+
155+
See [apps/truvera-api/README.md](apps/truvera-api/README.md) for full documentation including all environment variables, available tools, and testing instructions.
156+
157+
## CI/CD
158+
159+
GitHub Actions builds all apps, runs unit and integration tests, and performs a smoke test on every push. See [.github/workflows/ci.yml](.github/workflows/ci.yml) for details.
106160

107161
## Contributing
108162

@@ -111,5 +165,3 @@ See individual MCP server directories for licensing information.
111165
3. Ensure tests pass: `npm test`
112166
4. Submit a pull request
113167

114-
For server-specific contribution guidelines, see the README in each app directory.
115-

0 commit comments

Comments
 (0)