We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GIT-Viz-Team/GitViz-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
package.json•9.81 kB
{
"name": "git-viz-mcp",
"displayName": "GitViz MCP: Animated Log & History",
"description": "An extension to visualize Git logs and commit history with animations using a Webview. Leverages an MCP (Model Context Protocol) server and language model tools for enhanced interaction and visualization features like visualize_git_log, get_git_log, and highlight_commit.",
"publisher": "GIT-Viz-Team",
"icon": "assets/logo.png",
"repository": {
"type": "git",
"url": "https://github.com/GIT-Viz-Team/GitViz-MCP"
},
"version": "0.1.5",
"engines": {
"vscode": "^1.99.0"
},
"categories": [
"Visualization",
"Other"
],
"extensionDependencies": [
"vscode.git"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./dist/extension.js",
"contributes": {
"configuration": {
"title": "GitViz MCP: Animated Log & History",
"properties": {
"gitVizMcp.port": {
"type": "number",
"default": 35555,
"minimum": 1,
"maximum": 65535,
"description": "Port GitViz MCP server listens to."
},
"gitVizMcp.basePath": {
"type": "string",
"default": "/gitviz",
"description": "Base path prefix for all GitViz MCP endpoints (e.g. /gitviz). Leave empty for root."
},
"gitVizMcp.maxGitLogEntries": {
"type": "number",
"default": 30,
"minimum": 1,
"description": "Maximum number of git log entries to fetch."
}
}
},
"languageModelTools": [
{
"name": "highlight_commit",
"displayName": "Highlight Commit",
"toolReferenceName": "highlightCommit",
"canBeReferencedInPrompt": true,
"userDescription": "Highlights a specific commit node in the visualized Git log tree.",
"modelDescription": "This tool highlights a commit node in the log tree using its full or short hash. It should be used when you want to visually focus on a specific commit after log analysis, search, or user interaction. Example: highlight the commit `a1b2c3d`.",
"inputSchema": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "The full or short hash of the commit to highlight in the visual tree."
}
},
"required": [
"hash"
]
}
},
{
"name": "get_git_log",
"displayName": "Get Git Log",
"toolReferenceName": "getGitLog",
"canBeReferencedInPrompt": true,
"userDescription": "Fetches the git log output for a file path.",
"modelDescription": "This tool retrieves the git log for a file path by resolving its repository. Each commit includes the short hash (%h), author name (%an), relative date (%ar), commit message (%s), references/tags (%d), and parent hashes (%p). Example output:\n\n`a1b2c3d (Alice) (3 days ago) (Initial commit) (HEAD -> main) []`\n\nUse this tool whenever you need to fetch or analyze the git commit history of any file or folder.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The file or folder path to trace the Git repository from."
}
},
"required": [
"path"
]
}
},
{
"name": "visualize_git_log",
"displayName": "Visualize Git Log",
"toolReferenceName": "visualizeGitLog",
"canBeReferencedInPrompt": true,
"userDescription": "Visualizes how the Git history changes before and after operations.",
"modelDescription": "This tool is used to visualize how the Git history changes after a specific Git operation(e.g., merge, rebase, cherry-pick). It helps illustrate the structural differences between the commit tree before and after the operation.\n\nTo use this tool, provide two Git log histories:\n\n- `beforeOperationLog`: Git history before the operation. This can be obtained using the `get_git_log` tool, or it can be generated manually.\n\n- `afterOperationLog`: Git history after the operation, including the commits from `beforeOperationLog` plus any new or rewritten commits.\n\nEach commit should follow the format: short hash (%h) which must be a hexadecimal string containing only [0-9a-f], author name (%an), relative date (%ar), commit message (%s), references/tags (%d), and parent hashes (%p).\n\nExample:\n\nbeforeOperationLog:\n76ddb32 (Alice) (2 weeks ago) (Initial commit) []\n\nafterOperationLog:\n1f4a8f3 (Jimmy) (11 days ago) (feat: add api) [76ddb32]\n76ddb32 (Alice) (2 weeks ago) (Initial commit) []\n\nUse this tool to help users understand how a Git operation transform the commit tree.",
"inputSchema": {
"type": "object",
"properties": {
"beforeOperationLog": {
"type": "string",
"description": "The Git log history before performing the operation. This can be obtained using the get_git_log tool on a real file path, or generated by the model to illustrate a hypothetical pre-operation state."
},
"afterOperationLog": {
"type": "string",
"description": "The Git log history after simulating or applying the Git operation. Must follow the same format as beforeOperationLog."
}
},
"required": [
"beforeOperationLog",
"afterOperationLog"
]
}
},
{
"name": "get_git_prompt",
"displayName": "Get Git Prompt",
"toolReferenceName": "getGitPrompt",
"canBeReferencedInPrompt": true,
"userDescription": "Retrieves the Git-GPT prompt template for enhanced Git assistance.",
"modelDescription": "This tool retrieves the Git-GPT prompt template which contains specialized instructions for handling Git-related tasks. When facing Git-related questions or issues, call this tool first to enhance your capabilities with Git-specific guidance. The prompt includes best practices for explaining Git commands, visualizing operations, and providing beginner-friendly assistance. Use this tool before attempting to solve complex Git problems to ensure you're following the recommended workflow and communication style for Git assistance.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}
],
"menus": {
"editor/title": [
{
"command": "gitVizMcp.openGitLogViewer",
"group": "navigation"
}
]
},
"commands": [
{
"command": "gitVizMcp.openGitLogViewer",
"title": "gitVizMcp: Open Git Log Viewer",
"icon": "$(git-branch)"
},
{
"command": "gitVizMcp.selectRepo",
"title": "gitVizMcp: Set Repository"
},
{
"command": "gitVizMcp.registerCopilot",
"title": "gitVizMcp: Register MCP Server to VS Code Settings"
},
{
"command": "gitVizMcp.restartMcpServer",
"title": "GitVizMCP: Restart Server"
}
]
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "webpack && cp ./src/**.html ./dist",
"watch": "webpack --watch",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/cors": "^2.8.18",
"@types/express": "^5.0.2",
"@types/glob": "^7.1.4",
"@types/mocha": "^9.0.0",
"@types/node": "14.x",
"@types/vscode": "^1.99.1",
"@typescript-eslint/eslint-plugin": "^5.1.0",
"@typescript-eslint/parser": "^5.1.0",
"@vscode/test-electron": "^1.6.2",
"copy-webpack-plugin": "^12.0.2",
"eslint": "^8.1.0",
"glob": "^7.1.7",
"mocha": "^9.1.3",
"ts-loader": "^9.2.5",
"typescript": "^4.4.4",
"webpack": "^5.52.1",
"webpack-cli": "^4.8.0"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.12.0",
"axios": "^1.7.8",
"dotenv": "^16.4.7",
"groq-sdk": "^0.9.1",
"iconv-lite": "^0.6.3",
"simple-git": "^3.27.0"
}
}