@vucinatim/agentic-devtools 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/SECURITY.md +47 -0
  4. package/adapters/claude/namecheap/README.md +13 -0
  5. package/adapters/claude/npm/README.md +11 -0
  6. package/adapters/claude/railway/README.md +11 -0
  7. package/adapters/codex/namecheap/.codex-plugin/plugin.json +40 -0
  8. package/adapters/codex/namecheap/.mcp.json +21 -0
  9. package/adapters/codex/namecheap/SKILL.md +40 -0
  10. package/adapters/codex/npm/.codex-plugin/plugin.json +41 -0
  11. package/adapters/codex/npm/.mcp.json +18 -0
  12. package/adapters/codex/npm/SKILL.md +54 -0
  13. package/adapters/codex/railway/.codex-plugin/plugin.json +39 -0
  14. package/adapters/codex/railway/.mcp.json +20 -0
  15. package/adapters/codex/railway/SKILL.md +44 -0
  16. package/docs/README.md +14 -0
  17. package/docs/architecture.md +208 -0
  18. package/docs/auth-and-setup-guidelines.md +261 -0
  19. package/docs/migration-plan.md +55 -0
  20. package/docs/open-source-readiness.md +119 -0
  21. package/docs/publishing.md +211 -0
  22. package/docs/testing.md +61 -0
  23. package/docs/usage.md +144 -0
  24. package/package.json +78 -0
  25. package/src/cli.mjs +158 -0
  26. package/src/core/config-store.mjs +106 -0
  27. package/src/core/result.mjs +13 -0
  28. package/src/core/tool-registry.mjs +29 -0
  29. package/src/index.mjs +47 -0
  30. package/src/tools/namecheap/auth.mjs +429 -0
  31. package/src/tools/namecheap/client.mjs +655 -0
  32. package/src/tools/namecheap/mcp.mjs +298 -0
  33. package/src/tools/npm/auth.mjs +367 -0
  34. package/src/tools/npm/client.mjs +317 -0
  35. package/src/tools/npm/mcp.mjs +343 -0
  36. package/src/tools/railway/auth.mjs +402 -0
  37. package/src/tools/railway/client.mjs +388 -0
  38. package/src/tools/railway/mcp.mjs +282 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Tim Vucina
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,202 @@
1
+ # Agentic Devtools
2
+
3
+ Reusable developer tools for AI agents.
4
+
5
+ Agentic Devtools is an MCP-first open-source package for developer platforms
6
+ such as Railway, Namecheap, and npm. It is meant to be run directly by MCP hosts with
7
+ `npx`, while still exposing package imports for custom automation.
8
+
9
+ Most users should not install this into their app. Point your agent host at the
10
+ tool you need:
11
+
12
+ ```bash
13
+ npx -y @vucinatim/agentic-devtools mcp railway
14
+ npx -y @vucinatim/agentic-devtools mcp namecheap
15
+ npx -y @vucinatim/agentic-devtools mcp npm
16
+ ```
17
+
18
+ Run the guided setup once if you do not want to put tokens in MCP host config:
19
+
20
+ ```bash
21
+ npx -y @vucinatim/agentic-devtools connect railway
22
+ npx -y @vucinatim/agentic-devtools connect namecheap
23
+ npx -y @vucinatim/agentic-devtools connect npm
24
+ ```
25
+
26
+ Start here:
27
+
28
+ - [docs/architecture.md](docs/architecture.md)
29
+ - [docs/usage.md](docs/usage.md)
30
+ - [docs/auth-and-setup-guidelines.md](docs/auth-and-setup-guidelines.md)
31
+ - [docs/open-source-readiness.md](docs/open-source-readiness.md)
32
+ - [docs/publishing.md](docs/publishing.md)
33
+ - [docs/migration-plan.md](docs/migration-plan.md)
34
+ - [docs/testing.md](docs/testing.md)
35
+
36
+ Project docs:
37
+
38
+ - [CONTRIBUTING.md](CONTRIBUTING.md)
39
+ - [SECURITY.md](SECURITY.md)
40
+ - [LICENSE](LICENSE)
41
+
42
+ ## Repository Shape
43
+
44
+ - `src/core/`
45
+ Shared CLI, registry, and result helpers.
46
+ - `src/tools/<tool-name>/`
47
+ Service clients and MCP server entrypoints.
48
+ - `adapters/codex/<tool-name>/`
49
+ Codex-specific plugin packaging and marketplace-facing metadata.
50
+ - `adapters/claude/<tool-name>/`
51
+ Claude-facing adapter notes or future wrapper code.
52
+ - `tests/tools/<tool-name>/`
53
+ Integration and protocol tests for each tool.
54
+ - `.agents/plugins/marketplace.json`
55
+ Local Codex marketplace catalog for the Codex adapters in this repo.
56
+
57
+ The package publishes as `@vucinatim/agentic-devtools` and exposes one CLI:
58
+ `agentic-devtools`.
59
+
60
+ ## Usage
61
+
62
+ ### MCP Host Via `npx`
63
+
64
+ This is the primary usage path.
65
+
66
+ Railway:
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "railway": {
72
+ "command": "npx",
73
+ "args": ["-y", "@vucinatim/agentic-devtools", "mcp", "railway"],
74
+ "env": {
75
+ "RAILWAY_API_TOKEN": "..."
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ```
81
+
82
+ After `connect railway`, the same server config can omit `env` because the token
83
+ is resolved from `~/.config/agentic-devtools/railway.json`.
84
+
85
+ Namecheap:
86
+
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "namecheap": {
91
+ "command": "npx",
92
+ "args": ["-y", "@vucinatim/agentic-devtools", "mcp", "namecheap"],
93
+ "env": {
94
+ "NAMECHEAP_API_USER": "...",
95
+ "NAMECHEAP_API_KEY": "...",
96
+ "NAMECHEAP_USERNAME": "...",
97
+ "NAMECHEAP_CLIENT_IP": "..."
98
+ }
99
+ }
100
+ }
101
+ }
102
+ ```
103
+
104
+ After `connect namecheap`, the same server config can omit `env` because
105
+ credentials are resolved from `~/.config/agentic-devtools/namecheap.json`.
106
+
107
+ npm:
108
+
109
+ ```json
110
+ {
111
+ "mcpServers": {
112
+ "npm": {
113
+ "command": "npx",
114
+ "args": ["-y", "@vucinatim/agentic-devtools", "mcp", "npm"]
115
+ }
116
+ }
117
+ }
118
+ ```
119
+
120
+ Use `connect npm` for guided token setup. For real package releases, prefer
121
+ GitHub Actions Trusted Publishing over local write tokens.
122
+
123
+ ### Global CLI
124
+
125
+ Useful if you use the tools often from a terminal:
126
+
127
+ ```bash
128
+ npm install -g @vucinatim/agentic-devtools
129
+ agentic-devtools tools
130
+ agentic-devtools connect railway
131
+ agentic-devtools auth-status railway
132
+ agentic-devtools mcp railway
133
+ ```
134
+
135
+ ### Project Dependency
136
+
137
+ Use this only when building your own automation on top of the service clients:
138
+
139
+ ```bash
140
+ npm install @vucinatim/agentic-devtools
141
+ ```
142
+
143
+ ```js
144
+ import { createRailwayClient } from "@vucinatim/agentic-devtools";
145
+ import { createNamecheapClient } from "@vucinatim/agentic-devtools";
146
+ import { createNpmClient } from "@vucinatim/agentic-devtools";
147
+ ```
148
+
149
+ ## Design rule
150
+
151
+ Keep the integration logic host-agnostic:
152
+
153
+ 1. build the service client and shared behavior in `src/`
154
+ 2. expose MCP from the same shared layer
155
+ 3. keep Codex and Claude wrappers thin and replaceable
156
+
157
+ ## Current plugins
158
+
159
+ - `namecheap`
160
+ - `railway`
161
+ - `npm`
162
+
163
+ ## Development
164
+
165
+ Current validation commands:
166
+
167
+ ```bash
168
+ npm run build
169
+ npm test
170
+ npm run test:namecheap
171
+ npm run test:railway
172
+ npm run coverage
173
+ npm run check
174
+ ```
175
+
176
+ ## Local Adapter Development
177
+
178
+ Local Codex adapter entries point to:
179
+
180
+ - `./adapters/codex/namecheap`
181
+ - `./adapters/codex/railway`
182
+
183
+ The shared MCP server implementations live at:
184
+
185
+ - `src/tools/namecheap/mcp.mjs`
186
+ - `src/tools/railway/mcp.mjs`
187
+
188
+ Local CLI examples:
189
+
190
+ ```bash
191
+ node src/cli.mjs tools
192
+ node src/cli.mjs mcp railway
193
+ node src/cli.mjs auth-status namecheap
194
+ ```
195
+
196
+ ## Publishing direction
197
+
198
+ Publishing should use GitHub Actions and npm Trusted Publishing via OIDC. This
199
+ avoids long-lived npm tokens and gives the public package provenance
200
+ attestations.
201
+
202
+ See [docs/publishing.md](docs/publishing.md).
package/SECURITY.md ADDED
@@ -0,0 +1,47 @@
1
+ # Security Policy
2
+
3
+ Agentic Devtools connects agents to developer accounts and infrastructure. Treat
4
+ credentials, destructive actions, and package publishing as high-risk surfaces.
5
+
6
+ ## Supported Versions
7
+
8
+ This project has not published a stable version yet. Security fixes should
9
+ target the main branch until the first public release.
10
+
11
+ ## Reporting A Vulnerability
12
+
13
+ Do not open a public issue for credential exposure, auth bypasses, or unsafe
14
+ write behavior.
15
+
16
+ Report security issues privately to:
17
+
18
+ ```txt
19
+ tim@vucina.com
20
+ ```
21
+
22
+ Include:
23
+
24
+ - affected tool
25
+ - reproduction steps
26
+ - expected impact
27
+ - whether credentials or account data may be exposed
28
+
29
+ ## Credential Handling
30
+
31
+ Never commit:
32
+
33
+ - `.env`
34
+ - `.env.*`
35
+ - local Namecheap auth config files
36
+ - Railway tokens
37
+ - Namecheap API credentials
38
+ - npm tokens
39
+
40
+ Use environment variables or local ignored auth files for development.
41
+
42
+ ## Write Tool Policy
43
+
44
+ Read-only tools are preferred by default.
45
+
46
+ Write tools must be narrow, explicit, and tested. Destructive operations should
47
+ make that behavior clear in the tool name, description, or input contract.
@@ -0,0 +1,13 @@
1
+ # Claude Adapter
2
+
3
+ This adapter does not currently need a Claude-specific wrapper.
4
+
5
+ Use the published package directly:
6
+
7
+ - `npx -y @vucinatim/agentic-devtools mcp namecheap`
8
+
9
+ If Claude or another host needs packaging later, keep it thin:
10
+
11
+ 1. point the host to the shared MCP entrypoint
12
+ 2. avoid duplicating Namecheap client logic
13
+ 3. keep any host metadata inside this folder only
@@ -0,0 +1,11 @@
1
+ # Claude Adapter
2
+
3
+ Claude-facing adapters should wrap the published npm MCP runtime:
4
+
5
+ - `npx -y @vucinatim/agentic-devtools mcp npm`
6
+
7
+ Keep this adapter thin:
8
+
9
+ 1. reuse the shared npm client
10
+ 2. avoid duplicating registry API logic
11
+ 3. keep host-specific setup outside `src/`
@@ -0,0 +1,11 @@
1
+ # Claude Adapter
2
+
3
+ Claude-facing adapters should wrap the published Railway MCP runtime:
4
+
5
+ - `npx -y @vucinatim/agentic-devtools mcp railway`
6
+
7
+ Keep this adapter thin:
8
+
9
+ 1. reuse the shared Railway client
10
+ 2. avoid duplicating GraphQL logic
11
+ 3. keep host-specific setup outside `src/`
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "namecheap",
3
+ "version": "0.1.0",
4
+ "description": "Run the Agentic Devtools Namecheap MCP server from Codex.",
5
+ "author": {
6
+ "name": "Tim Vucina",
7
+ "email": "tim@vucina.com",
8
+ "url": "https://github.com/vucinatim"
9
+ },
10
+ "homepage": "https://www.namecheap.com/",
11
+ "repository": "https://github.com/vucinatim/agentic-devtools/tree/main/adapters/codex/namecheap",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "namecheap",
15
+ "domains",
16
+ "dns"
17
+ ],
18
+ "skills": "./skills/",
19
+ "mcpServers": "./.mcp.json",
20
+ "interface": {
21
+ "displayName": "Namecheap",
22
+ "shortDescription": "Run Namecheap MCP tools from Agentic Devtools.",
23
+ "longDescription": "Connect Namecheap so Codex can inspect domains, read DNS state, and safely update host records through the published Agentic Devtools MCP runtime.",
24
+ "developerName": "Tim Vucina",
25
+ "category": "Developer Tools",
26
+ "capabilities": [
27
+ "Read",
28
+ "Write"
29
+ ],
30
+ "websiteURL": "https://www.namecheap.com/",
31
+ "privacyPolicyURL": "https://www.namecheap.com/legal/general/privacy-policy/",
32
+ "termsOfServiceURL": "https://www.namecheap.com/legal/universal/registration-agreement/",
33
+ "defaultPrompt": [
34
+ "Show me the DNS records for my domain.",
35
+ "Create a CNAME record for this subdomain.",
36
+ "Audit my Namecheap DNS setup for common issues."
37
+ ],
38
+ "brandColor": "#de3723"
39
+ }
40
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "mcpServers": {
3
+ "namecheap": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@vucinatim/agentic-devtools",
8
+ "mcp",
9
+ "namecheap"
10
+ ],
11
+ "env": {
12
+ "NAMECHEAP_API_USER": "[TODO]",
13
+ "NAMECHEAP_API_KEY": "[TODO]",
14
+ "NAMECHEAP_USERNAME": "[TODO]",
15
+ "NAMECHEAP_CLIENT_IP": "[TODO]",
16
+ "NAMECHEAP_API_SANDBOX": "[TODO: optional 1 for sandbox]",
17
+ "NAMECHEAP_API_BASE_URL": "[TODO: optional explicit override]"
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: namecheap
3
+ description: Use the Namecheap plugin to inspect domains, manage DNS records, and support domain configuration workflows through a small MCP surface.
4
+ ---
5
+
6
+ # Namecheap
7
+
8
+ Use this plugin when the user needs to work with Namecheap-managed domains or DNS.
9
+
10
+ ## Intended scope
11
+
12
+ - Read domain details
13
+ - Read and update DNS records
14
+ - Support common setup flows such as verification, redirects, and subdomain configuration
15
+
16
+ ## Current MCP tools
17
+
18
+ - `getAuthStatus`
19
+ - `connectNamecheap`
20
+ - `disconnectNamecheap`
21
+ - `listDomains`
22
+ - `getDomainDns`
23
+ - `replaceDomainDns`
24
+ - `addDomainDnsRecord`
25
+ - `removeDomainDnsRecord`
26
+ - `updateDomainDnsRecord`
27
+
28
+ ## Architecture note
29
+
30
+ Keep the public plugin surface small:
31
+
32
+ - expose stable MCP tools for domain and DNS operations
33
+ - keep raw API handling inside the shared `src/` layer
34
+ - add higher-level skills only after the MCP contract is stable
35
+
36
+ ## Auth model
37
+
38
+ Namecheap uses API credentials plus IP whitelisting, not a normal OAuth token exchange.
39
+
40
+ Use `connectNamecheap` to open a browser-based setup flow and store local plugin credentials, or provide credentials via environment variables if you need a stateless setup.
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "npm",
3
+ "version": "0.1.0",
4
+ "description": "Run the Agentic Devtools npm MCP server from Codex.",
5
+ "author": {
6
+ "name": "Tim Vucina",
7
+ "email": "tim@vucina.com",
8
+ "url": "https://github.com/vucinatim"
9
+ },
10
+ "homepage": "https://www.npmjs.com/",
11
+ "repository": "https://github.com/vucinatim/agentic-devtools/tree/main/adapters/codex/npm",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "npm",
15
+ "packages",
16
+ "publishing",
17
+ "registry"
18
+ ],
19
+ "skills": "./skills/",
20
+ "mcpServers": "./.mcp.json",
21
+ "interface": {
22
+ "displayName": "npm",
23
+ "shortDescription": "Run npm registry MCP tools from Agentic Devtools.",
24
+ "longDescription": "Connect npm so Codex can inspect package metadata, check package names, review token status, inspect publishing setup, and run explicit publish dry-runs through the published Agentic Devtools MCP runtime.",
25
+ "developerName": "Tim Vucina",
26
+ "category": "Developer Tools",
27
+ "capabilities": [
28
+ "Read",
29
+ "Write"
30
+ ],
31
+ "websiteURL": "https://www.npmjs.com/",
32
+ "privacyPolicyURL": "https://docs.npmjs.com/policies/privacy",
33
+ "termsOfServiceURL": "https://docs.npmjs.com/policies/terms",
34
+ "defaultPrompt": [
35
+ "Check whether this npm package name is available.",
36
+ "Show me the published versions and dist-tags for this package.",
37
+ "Run an npm publish dry-run for this package directory."
38
+ ],
39
+ "brandColor": "#cb3837"
40
+ }
41
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "mcpServers": {
3
+ "npm": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@vucinatim/agentic-devtools",
8
+ "mcp",
9
+ "npm"
10
+ ],
11
+ "env": {
12
+ "NPM_TOKEN": "[TODO: optional npm granular token]",
13
+ "NODE_AUTH_TOKEN": "[TODO: optional npm token fallback]",
14
+ "NPM_CONFIG_REGISTRY": "[TODO: optional registry override]"
15
+ }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: npm
3
+ description: Use the npm plugin to inspect npm registry packages, package names, auth status, tokens, and publishing setup through Agentic Devtools.
4
+ ---
5
+
6
+ # npm
7
+
8
+ Use this plugin when the user needs to inspect npm packages, check whether a
9
+ package name is available, validate npm auth, inspect token state, or run a
10
+ publish dry-run.
11
+
12
+ ## Intended Scope
13
+
14
+ - Read public package metadata
15
+ - Check package name availability
16
+ - List package versions and dist-tags
17
+ - Check npm auth status without exposing tokens
18
+ - Inspect token lists when an authenticated npm token is configured
19
+ - Run local `npm publish --dry-run`
20
+ - Run real local publishing only when explicitly confirmed
21
+
22
+ ## Current MCP Tools
23
+
24
+ - `getNpmAuthStatus`
25
+ - `connectNpm`
26
+ - `disconnectNpm`
27
+ - `testNpmConnection`
28
+ - `getNpmPackageInfo`
29
+ - `checkNpmPackageNameAvailability`
30
+ - `getNpmPackageVersions`
31
+ - `getNpmPackageDistTags`
32
+ - `getNpmPackageVisibility`
33
+ - `setNpmPackageAccess`
34
+ - `listNpmTokens`
35
+ - `exchangeNpmOidcToken`
36
+ - `getNpmTrustedPublishers`
37
+ - `addNpmGitHubTrustedPublisher`
38
+ - `deleteNpmTrustedPublisher`
39
+ - `publishNpmPackageDirectory`
40
+
41
+ ## Auth Model
42
+
43
+ npm does not provide a normal third-party OAuth flow for local tools.
44
+
45
+ Supported auth sources:
46
+
47
+ - `NPM_TOKEN`
48
+ - `NODE_AUTH_TOKEN`
49
+ - explicit npm user config via `.npmrc`
50
+ - local Agentic Devtools storage from `connectNpm`
51
+
52
+ Prefer GitHub Actions Trusted Publishing for real package releases. Local
53
+ publishing is available for controlled cases, but it requires an explicit
54
+ confirmation string.
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "railway",
3
+ "version": "0.1.0",
4
+ "description": "Run the Agentic Devtools Railway MCP server from Codex.",
5
+ "author": {
6
+ "name": "Tim Vucina",
7
+ "email": "tim@vucina.com",
8
+ "url": "https://github.com/vucinatim"
9
+ },
10
+ "homepage": "https://railway.com/",
11
+ "repository": "https://github.com/vucinatim/agentic-devtools/tree/main/adapters/codex/railway",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "railway",
15
+ "deployments",
16
+ "infrastructure"
17
+ ],
18
+ "skills": "./skills/",
19
+ "mcpServers": "./.mcp.json",
20
+ "interface": {
21
+ "displayName": "Railway",
22
+ "shortDescription": "Run Railway MCP tools from Agentic Devtools.",
23
+ "longDescription": "Connect Railway so Codex can inspect account identity, projects, environments, service instances, domains, and deployment status through the published Agentic Devtools MCP runtime.",
24
+ "developerName": "Tim Vucina",
25
+ "category": "Developer Tools",
26
+ "capabilities": [
27
+ "Read"
28
+ ],
29
+ "websiteURL": "https://railway.com/",
30
+ "privacyPolicyURL": "https://railway.com/legal/privacy",
31
+ "termsOfServiceURL": "https://railway.com/legal/terms",
32
+ "defaultPrompt": [
33
+ "Show me my Railway projects.",
34
+ "Inspect this Railway project's production environment.",
35
+ "Check the deployment status for this Railway project."
36
+ ],
37
+ "brandColor": "#0b0d0e"
38
+ }
39
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "mcpServers": {
3
+ "railway": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@vucinatim/agentic-devtools",
8
+ "mcp",
9
+ "railway"
10
+ ],
11
+ "env": {
12
+ "RAILWAY_PROJECT_TOKEN": "[TODO: optional project-scoped token]",
13
+ "RAILWAY_API_TOKEN": "[TODO: optional account-scoped token]",
14
+ "RAILWAY_TOKEN": "[TODO: optional account-scoped token fallback]",
15
+ "RAILWAY_PROJECT_ID": "[TODO: optional default project id]",
16
+ "RAILWAY_API_ENDPOINT": "[TODO: optional explicit GraphQL endpoint override]"
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: railway
3
+ description: Use the Railway plugin to inspect Railway account, project, environment, service, domain, and deployment state through a small read-only MCP surface.
4
+ ---
5
+
6
+ # Railway
7
+
8
+ Use this plugin when the user needs to inspect Railway projects, environments,
9
+ services, domains, or deployment status.
10
+
11
+ ## Intended Scope
12
+
13
+ - Read account identity
14
+ - List Railway projects
15
+ - Inspect a project and its environments
16
+ - Inspect environment service instances and deployment status
17
+ - Run a compact project doctor summary
18
+
19
+ ## Current MCP Tools
20
+
21
+ - `getRailwayAuthStatus`
22
+ - `testRailwayConnection`
23
+ - `getRailwayViewer`
24
+ - `listRailwayProjects`
25
+ - `inspectRailwayProjectToken`
26
+ - `getRailwayProject`
27
+ - `listRailwayEnvironments`
28
+ - `getRailwayEnvironment`
29
+ - `doctorRailwayProject`
30
+
31
+ ## Architecture Note
32
+
33
+ Keep the public plugin surface read-only until write workflows have explicit
34
+ confirmation and rollback rules.
35
+
36
+ ## Auth Model
37
+
38
+ Railway supports different token scopes.
39
+
40
+ - `RAILWAY_PROJECT_TOKEN` is project-scoped and works for project inspection.
41
+ - `RAILWAY_API_TOKEN` or `RAILWAY_TOKEN` is account-scoped and works for account
42
+ identity and project listing.
43
+
44
+ Prefer project tokens for narrow inspection when a specific project is known.
package/docs/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # Docs
2
+
3
+ Start with:
4
+
5
+ - [Architecture](architecture.md)
6
+ - [Usage](usage.md)
7
+ - [Auth And Setup Guidelines](auth-and-setup-guidelines.md)
8
+ - [Open Source Readiness](open-source-readiness.md)
9
+ - [Publishing](publishing.md)
10
+ - [Migration Plan](migration-plan.md)
11
+ - [Testing](testing.md)
12
+
13
+ These docs describe the public package direction and the current repository
14
+ setup.