@@ -36,20 +36,11 @@ The compiled binary will be placed in the `bin` directory.
3636## Authentication
3737
3838The tool uses GitHub device flow authentication:
39- 1 . When first run (or with ` --login ` flag), the tool will initiate the GitHub device flow
40- 2 . You'll be provided with a URL and a code to enter
41- 3 . After successful authentication, the tool saves the token locally for future use
42- 4 . The token is sent in the HTTP Authorization header with the Bearer scheme
43-
44- ### Required Environment Variable
45-
46- Before using the GitHub authentication, you need to set the following environment variable:
47-
48- ``` bash
49- export MCP_REGISTRY_GITHUB_CLIENT_ID=" your_github_client_id"
50- ```
51-
52- This environment variable is required for the GitHub device flow authentication. If not set, the authentication will fail.
39+ 1 . The tool automatically retrieves the GitHub Client ID from the registry's health endpoint
40+ 2 . When first run (or with ` --login ` flag), the tool will initiate the GitHub device flow
41+ 3 . You'll be provided with a URL and a code to enter
42+ 4 . After successful authentication, the tool saves the token locally for future use
43+ 5 . The token is sent in the HTTP Authorization header with the Bearer scheme
5344
5445_ NOTE_ : Authentication is made on behalf of a OAuth App which you must authorize for respective resources (e.g ` org ` )
5546
@@ -64,47 +55,40 @@ _NOTE_ : Authentication is made on behalf of a OAuth App which you must authoriz
6455 "version_detail" : {
6556 "version" : " 1.0.0"
6657 },
67- "registries " : [
58+ "packages " : [
6859 {
69- "name" : " npm" ,
70- "package_name" : " your-npm-package" ,
71- "license" : " MIT" ,
72- "command_arguments" : {
73- "sub_commands" : [
74- {
75- "name" : " start" ,
76- "description" : " Start the server" ,
77- "named_arguments" : null
78- }
79- ],
80- "positional_arguments" : null ,
81- "environment_variables" : [
82- {
83- "name" : " PORT" ,
84- "description" : " Port to run the server on" ,
85- "required" : false
86- }
87- ],
88- "named_arguments" : null
89- }
60+ "registry_name" : " npm" ,
61+ "name" : " your-npm-package" ,
62+ "version" : " 1.0.0" ,
63+ "package_arguments" : [
64+ {
65+ "description" : " Specify services and permissions" ,
66+ "is_required" : true ,
67+ "format" : " string" ,
68+ "value" : " -s" ,
69+ "default" : " -s" ,
70+ "type" : " positional" ,
71+ "value_hint" : " -s"
72+ }
73+ ],
74+ "environment_variables" : [
75+ {
76+ "name" : " API_KEY" ,
77+ "description" : " API Key to access the server"
78+ }
79+ ]
9080 }
9181 ],
92- "remotes" : [
93- {
94- "transporttype" : " http" ,
95- "url" : " http://yourdomain.com/api"
96- }
97- ]
82+ "repository" : {
83+ "url" : " https://github.com/yourusername/your-repository" ,
84+ "source" : " github"
85+ }
9886}
9987```
10088
101892 . Run the publisher tool:
10290
10391``` bash
104- # First, set the required environment variable
105- export MCP_REGISTRY_GITHUB_CLIENT_ID=" your_github_client_id"
106-
107- # Then run the publisher tool
10892./bin/mcp-publisher --registry-url " https://mcp-registry.example.com" --mcp-file " ./mcp.json"
10993```
11094
@@ -114,7 +98,7 @@ export MCP_REGISTRY_GITHUB_CLIENT_ID="your_github_client_id"
11498
11599## Important Notes
116100
117- - The ` MCP_REGISTRY_GITHUB_CLIENT_ID ` environment variable must be set for GitHub authentication
101+ - The GitHub Client ID is automatically retrieved from the registry's health endpoint
118102- The authentication token is saved in a file named ` .mcpregistry_token ` in the current directory
119103- The tool requires an active internet connection to authenticate with GitHub and communicate with the registry
120104- Make sure the repository and package mentioned in your ` mcp.json ` file exist and are accessible
0 commit comments