Skip to main content
Glama

Link a server folder to a GitHub repository

git_link

Connect a folder on the user's server to a GitHub repository: a deploy key is made on the server (for the folder's owner) and added to the repository, then: a folder already under git gets the remote; a missing or empty folder gets a clone; a folder with a site and an EMPTY repository is imported as its first commit (with a .gitignore for Magento, WordPress or Laravel that keeps env.php, wp-config.php, media, caches, logs and dumps out; a background job, follow it with job_output); a folder with a site and a repository that has code is attached without changing any live file, so git_status shows the differences. write true lets the server push (git_push). Needs the user's admin rights on the repository and open changes on the server.

Input Schema

NameRequiredDescriptionDefault
whyNo
pathYesThe folder's absolute path on the server, like /home/shop/public_html.
repoYes
writeNo
branchNo
serverNoServer name or id. Optional when the account has one server.
messageNoFirst commit message for an import.
approval_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavioral context beyond annotations: deploy key creation, branch-specific outcomes, .gitignore handling for Magento/WordPress/Laravel, background job behavior, no live-file changes in attach mode, and the need for repository admin rights and open server changes. This is exactly the kind of operational detail annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The information is front-loaded and every clause carries operational meaning, but it is delivered as one very dense semicolon-heavy paragraph. It is appropriately scoped for a complex eight-parameter tool, though readability could be improved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex branching workflow, no output schema, and partial parameter documentation, the description is quite complete on behavior and permissions. It still leaves some calling details such as repository identity format and approval_id usage unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 38%, so the description must compensate for several undocumented parameters. It explains write=true and implies the import commit message, but leaves repo format, branch, why, and approval_id unexplained; the gap is too large for the description to carry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: connecting a server folder to a GitHub repository. It clearly distinguishes the operation from sibling tools like git_push, git_status, and job_output by naming their roles in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear conditional usage: already-under-git folders get a remote, missing/empty folders get a clone, site plus empty repo gets an import, and site plus populated repo gets a non-live-file attachment. It also says to follow background jobs with job_output and that write=true enables git_push. It lacks an explicit exclusion versus git_deploy, but the scenario guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources