MCP, MCP server
Github Command Center
Github Command Center, an MCP server listed in the PlugVet directory.
Compatibility: Not stated.
Grade C
One Medium finding. Read the report before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
PERMISSION_SHELL_UNDECLARED
Why this grade
- PERMISSION_SHELL_UNDECLARED Medium
Runs shell commands that the manifest or description does not mention.
backend/main.go, line 166
cmd := exec.Command("git", args...)
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
requests shell access. No manifest field names shell or command execution.
PERMISSION_SHELL_UNDECLARED
backend/main.go, line 166
cmd := exec.Command("git", args...)
backend/main.go, line 184
cmd := exec.Command("git", "clone", req.URL, req.Path)
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
src/App.tsx, line 18
const { data } = await axios.get(`${API}/api/config`)
src/App.tsx, line 34
const { data } = await axios.get(`${API}/api/github/user`, {
src/components/ActivityFeed.tsx, line 160
const res = await axios.get(`${API}/api/github/events`, {
Show more
src/components/BranchPanel.tsx, line 53
await axios.post(`${API}/api/git/branch/${encodeURIComponent(repoPath)}`, {
src/components/BranchPanel.tsx, line 68
await axios.post(`${API}/api/git/checkout/${encodeURIComponent(repoPath)}`, {
src/components/BranchPanel.tsx, line 81
await axios.delete(`${API}/api/git/branches/${encodeURIComponent(repoPath)}`, {
src/components/BranchPanel.tsx, line 96
await axios.post(`${API}/api/git/merge/${encodeURIComponent(repoPath)}`, {
src/components/BranchPanel.tsx, line 138
await axios.post(`${API}/api/git/checkout/${encodeURIComponent(repoPath)}`, {
src/components/RepositoryView.tsx, line 43
await axios.post(`http://localhost:8765/api/git/unstage/${encodeURIComponent(repoPath)}`, { filePath: path })
src/components/RepositoryView.tsx, line 50
await axios.post(`http://localhost:8765/api/git/stage/${encodeURIComponent(repoPath)}`, { filePath: path })
src/components/RepositoryView.tsx, line 61
await axios.post(`http://localhost:8765/api/git/commit/${encodeURIComponent(repoPath)}`, {
src/components/SettingsPage.tsx, line 72
const response = await axios.get(`http://localhost:8765/api/github/user`, {
src/components/SettingsPage.tsx, line 94
const response = await axios.get(`http://localhost:8765/api/github/user`, {
src/components/Sidebar.tsx, line 18
await axios.post('http://localhost:8765/api/git/add', { path: repoPath })
src/components/Sidebar.tsx, line 35
await axios.post('http://localhost:8765/api/git/clone', { url, path })
src/components/StashPanel.tsx, line 44
await axios.post(`http://localhost:8765/api/git/stash/${encodeURIComponent(repoPath)}`, {
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
backend/github.go, line 164
token = os.Getenv("GITHUB_TOKEN")
backend/main.go, line 27
// App config endpoint (returns pre-configured credentials from .env)
backend/main.go, line 119
token := os.Getenv("GITHUB_TOKEN")
Show more
src/App.tsx, line 15
// Auto-configure from backend .env on first run (no token stored yet)
.env.example, line 2
# Copy this file to .env and fill in your values
.env.example, line 3
# The .env file is gitignored and will never be committed
.gitignore, line 18
# Environment - NEVER commit tokens
.gitignore, line 19
.env
.gitignore, line 21
!.env.example
CHANGELOG.md, line 26
- **Credential Auto-Config** - backend reads `.env` and exposes `/api/config` so token is set on first launch
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit dc5274fdccf6. requests shell access. No manifest field names shell or command execution. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: dc5274fdccf6a1a6cdda15c8a5822b3c810be443
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.