Commit graph registry/internal
Author SHA1 Message Date
Avinash Sridhar
b6c141a721 Fixed linter errors and fixed tests
- Added error handling for JSON encoding in ServersHandler and ServersDetailHandler.
- Updated test cases to reflect changes in handler functions and improved mock expectations.
- Refactored server initialization to include ReadHeaderTimeout for better request handling.
- Modified GitHubDeviceAuth to accept context in ValidateToken and checkOrgMembership methods.
- Improved error messages in database import functions for better debugging.
- Updated memory and mongo database list functions to accept context and improved filtering logic.
- Enhanced logging in publisher tool for better visibility during execution.
- Cleaned up code formatting and comments for better readability and maintainability.
2025-05-27 19:13:51 -06:00
Avinash Sridhar
c74a7af000 fix(tests): update server IDs to use real-ish uuids 2025-05-27 19:13:51 -06:00
Avinash Sridhar
5736edd07a refactor(tests): remove redundant TestServersDetailHandler integration tests 2025-05-27 19:13:51 -06:00
Avinash Sridhar
a5abab50c4 feat(tests): add unit tests for servers and servers detail handlers 2025-05-27 19:13:51 -06:00
Avinash Sridhar
dd57b82859 feat(publish): set version as latest and add release date on publish 2025-05-27 19:13:51 -06:00
Avinash Sridhar
f9ab0bc49b update tests and memory implementation to follow real DB implementations as much as possible. Fix the tests to let the DB generate the server uuids rather than setting them up in the test. 2025-05-27 19:13:51 -06:00
Avinash Sridhar
d0a0adf620 feat(tests): add integration tests for publish functionality and enhance error handling 2025-05-27 19:13:51 -06:00
Avinash Sridhar
d266dd4eb0 feat(tests): add comprehensive tests for health and publish handlers 2025-05-27 19:13:51 -06:00
Avinash Sridhar
b960840197 fix(publish): handle inline model corectly on publish 2025-05-26 07:10:07 -07:00
Avinash Sridhar
4dbf80562b feat(publisher): integrate GitHub Client ID into device flow authentication 2025-05-26 07:10:07 -07:00
Yusheng Guo
5d9171bdcc
fix(model): inline ServerDetail fields in PublishRequest (#62)
<!-- Provide a brief summary of your changes -->
Inline ServerDetail fields in PublishRequest

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
Fix #55 

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->

## Breaking Changes
<!-- Will users need to update their code or configurations? -->

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->

94c19fafa4/scripts/test_publish.sh (L61-L102)

---------

Co-authored-by: Avinash Sridhar <sridharavinash@users.noreply.github.com>
2025-05-25 16:24:40 -04:00
Avinash Sridhar
0d5740ea0d feat: add github_client_id to health check response schema 2025-05-24 09:45:27 -07:00
Avinash Sridhar
701988fca8 feat: enhance health check endpoint to include GitHub client ID 2025-05-24 09:45:27 -07:00
Tadas Antanavicius
a8cfd74d4c
Remove package_canonical (#59)
I originally introduced `package_canonical` into the API schema because,
at the time, we were thinking to "pin" the version of the MCP server to
_one_ of the referenced source code packages.

We are no longer doing this (we are maintaining a separate notion of
`version` unique to the MCP server), so I don't believe
`package_canonical` is needed anymore. Does anyone see otherwise?

This change removes all mentions in READMEs and usages in code.
2025-05-24 06:07:08 -07:00
Avinash Sridhar
5c238eceef feat: refactor to account for updated openAPI schema
* Update the model to handle new changes to schema based on https://github.com/modelcontextprotocol/registry/pull/33

* Made the import script a little simpler.
* Add a new updated seed file
* update template mcp.json file for publisher
2025-05-17 09:38:19 -06:00
Avinash Sridhar
5ef4d769ed feat: update model and script to use package_canonical instead of registry_canonical 2025-05-17 09:38:19 -06:00
Toby Padilla
d3b607b18b docs: update env var docs in readme 2025-05-07 22:27:26 -06:00
Toby Padilla
bc137e9317 fix: ignore error on indexes already exist 2025-05-05 15:25:57 -06:00
Toby Padilla
acdf3efeaf feat: load seed.json servers by default 2025-05-05 15:25:57 -06:00
Avinash Sridhar
f843bd4243 feat(auth): refactor authentication handling by removing redundant checks and introducing dynamic auth method determination 2025-05-05 14:38:45 -06:00
Avinash Sridhar
6191066b2e feat(auth): enhance token validation to ensure association with GitHub application and improve error handling 2025-05-05 14:38:45 -06:00
Avinash Sridhar
9c6eebbed0 feat: implement server publishing endpoint with Bearer token authentication and update documentation 2025-05-05 14:38:45 -06:00
Avinash Sridhar
089fd3994a feat(auth): streamline GitHub token validation and add organization membership check 2025-05-05 14:38:45 -06:00
Avinash Sridhar
2089c5aaa1 feat(auth): Implement GitHub OAuth authentication flow for package publishing
- Added authentication service and GitHub OAuth integration.
- Introduced new authentication methods and structures in the model.
- Updated the API to handle authentication during the publishing process.
- Created handlers for starting and checking the status of the OAuth flow.
- Enhanced the publish handler to validate authentication credentials.
- Updated configuration to include GitHub OAuth settings.
- Added tests for the OAuth flow and publishing with authentication.
- Updated documentation to reflect changes in the API and authentication process.
2025-05-05 14:38:45 -06:00
Avinash Sridhar
582d93a103 feat: implement publish endpoint and related database functionality 2025-05-05 14:38:45 -06:00
Toby Padilla
809c99e398 feat: use env prefix 2025-04-24 18:17:36 -06:00
Toby Padilla
b2a4b33e7d feat: use caarlos0/env for config 2025-04-24 18:17:36 -06:00
Avinash Sridhar
e63cd50954
Fix error handling in SwaggerJSONHandler to ensure working directory retrieval is validated 2025-04-23 23:42:09 -04:00
Avinash Sridhar
39bcae1c81
Add Swagger API documentation and handlers for v0 2025-04-23 23:36:23 -04:00
Avinash Sridhar
0d9ff1fcb1
Add a count to the servers response 2025-04-23 22:21:40 -04:00
Avinash Sridhar
4fb5bc477e
Init world. Basic registry API server
Work in progress .
This commit adds the core registry service implementation with methods to:
- Retrieve all registry entries
- List entries with cursor-based pagination
- Fetch specific server details by ID
2025-04-22 17:09:44 -04:00