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
Consolidate documentation and remove redundancy (#222)
## Summary
This PR consolidates our documentation to reduce redundancy and
maintenance overhead:
- Removes the CLAUDE.md file with Import statement in favor of direct
README.md usage
- Merges CONTRIBUTING.md content into README.md's Contributing section
- Migrates useful architecture and developer information from the old
CLAUDE.md to README.md
- Eliminates duplicated information between files
## Benefits
- Single source of truth in README.md reduces documentation drift
- Easier maintenance with all docs in one place
- Claude Code remains fully functional while reducing complexity
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
_Guidance for Claude Code (claude.ai/code) when working in this repository. If it's also useful to humans (probably most things!), put the instructions in README.md instead._
2
3
3
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
-
## Overview
6
-
MCP Registry is a community-driven registry service for Model Context Protocol (MCP) servers. It provides a centralized repository for discovering and managing MCP implementations.
7
-
8
-
## Development Setup
9
-
10
-
### Prerequisites
11
-
-**Go 1.23.x** - The project requires this specific version (check with `go version`)
12
-
- Consider using a Go version manager like `g` or `gvm` if you work on multiple projects
Copy file name to clipboardExpand all lines: README.md
+66-83Lines changed: 66 additions & 83 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,15 @@ A community driven registry service for Model Context Protocol (MCP) servers.
4
4
5
5
## Development Status
6
6
7
-
This project is being built in the open and is currently in the early stages of development. Please see the [overview discussion](https://github.com/modelcontextprotocol/registry/discussions/11) for the project scope and goals. If you would like to contribute, please check out the [contributing guidelines](CONTRIBUTING.md).
7
+
This project is being built in the open and is currently in the early stages of development. Please see the [overview discussion](https://github.com/modelcontextprotocol/registry/discussions/11) for the project scope and goals.
8
+
9
+
### Contributing
10
+
11
+
Use [Discussions](https://github.com/modelcontextprotocol/registry/discussions) to propose and discuss product and/or technical **requirements**.
12
+
13
+
Use [Issues](https://github.com/modelcontextprotocol/registry/issues) to track **well-scoped technical work** that the community agrees should be done at some point.
14
+
15
+
Open [Pull Requests](https://github.com/modelcontextprotocol/registry/pulls) when you want to **contribute work towards an Issue**, or you feel confident that your contribution is desireable and small enough to forego community discussion at the requirements and planning levels.
8
16
9
17
## Overview
10
18
@@ -43,19 +51,32 @@ The easiest way to get the registry running is uses docker compose. This will se
43
51
make dev-compose
44
52
```
45
53
46
-
This will start the MCP Registry service and MongoDB with Docker, exposing it on port 8080.
54
+
This will start the MCP Registry service and MongoDB with Docker, running at [`localhost:8080`](http://localhost:8080).
47
55
48
56
## Building
49
57
50
-
If you prefer to run the service locally without Docker, you can build and run it directly using Go.
58
+
If you prefer to run the service locally without Docker, you can build and run it directly:
51
59
52
60
```bash
53
61
# Build a registry executable
54
62
make build
55
63
```
56
64
This will create the `registry` binary in the current directory. You'll need to have MongoDB running locally or with Docker.
57
65
58
-
By default, the service will run on `http://localhost:8080`.
66
+
To run the service locally:
67
+
```bash
68
+
# Run registry locally (requires MongoDB)
69
+
make dev-local
70
+
```
71
+
72
+
By default, the service will run on [`localhost:8080`](http://localhost:8080).
73
+
74
+
To build the CLI tool for publishing MCP servers to the registry:
75
+
76
+
```bash
77
+
# Build the publisher tool
78
+
make publisher
79
+
```
59
80
60
81
## Development
61
82
@@ -70,14 +91,14 @@ make help
70
91
Key development commands:
71
92
72
93
```bash
73
-
# Build targets
74
-
make build # Build the registry application
75
-
make publisher # Build the publisher tool
76
-
77
94
# Development
78
95
make dev-compose # Start development environment with Docker Compose
79
96
make dev-local # Run registry locally (requires MongoDB)
80
97
98
+
# Build targets
99
+
make build # Build the registry application
100
+
make publisher # Build the publisher tool
101
+
81
102
# Testing
82
103
make test-unit # Run unit tests with coverage report
This provides a complete reference of all endpoints with request/response schemas and allows you to test the API directly from your browser.
187
+
### Design Patterns
188
+
-**Factory Pattern** for service creation with dependency injection
189
+
-**Repository Pattern** for database abstraction
190
+
-**Context Pattern** for timeout management (5-second DB operations)
191
+
-**Cursor-based Pagination** using UUIDs for stateless pagination
152
192
153
193
## API Endpoints
154
194
195
+
### API Documentation
196
+
197
+
```
198
+
GET /v0/swagger/index.html
199
+
```
200
+
201
+
The API is documented using Swagger/OpenAPI. This page provides a complete reference of all endpoints with request/response schemas and allows you to test the API directly from your browser.
202
+
155
203
### Health Check
156
204
157
205
```
@@ -369,71 +417,6 @@ The service can be configured using environment variables:
369
417
|`MCP_REGISTRY_SEED_IMPORT`| Import `seed.json` on first run |`true`|
370
418
|`MCP_REGISTRY_SERVER_ADDRESS`| Listen address for the server |`:8080`|
371
419
372
-
373
-
## Testing
374
-
375
-
### Unit Tests
376
-
377
-
```bash
378
-
# Run unit tests with coverage
379
-
make test
380
-
381
-
# Generate coverage report
382
-
make coverage
383
-
```
384
-
385
-
### Integration Tests
386
-
387
-
```bash
388
-
# Run integration tests
389
-
make integration-test
390
-
```
391
-
392
-
### API Endpoint Testing
393
-
394
-
```bash
395
-
# Test API endpoints (requires running server)
396
-
make test-endpoints
397
-
```
398
-
399
-
You can also run the script directly with specific endpoints:
400
-
401
-
```bash
402
-
./scripts/test_endpoints.sh --endpoint health
403
-
./scripts/test_endpoints.sh --endpoint servers
404
-
```
405
-
406
-
### Publish Endpoint Testing
407
-
408
-
```bash
409
-
# Test publish endpoint (requires BEARER_TOKEN env var)
410
-
make test-publish
411
-
```
412
-
413
-
### Validation
414
-
415
-
```bash
416
-
# Validate JSON schemas
417
-
make validate-schemas
418
-
419
-
# Validate examples against schemas
420
-
make validate-examples
421
-
422
-
# Run all validation checks
423
-
make validate
424
-
```
425
-
426
-
### Comprehensive Testing
427
-
428
-
```bash
429
-
# Run all checks (lint, validate, test)
430
-
make check
431
-
```
432
-
433
420
## License
434
421
435
422
See the [LICENSE](LICENSE) file for details.
436
-
437
-
## Contributing
438
-
439
-
See the [CONTRIBUTING](CONTRIBUTING.md) file for details.
0 commit comments