insodimension/swiss-knife
v0.3.1MIT
Small useful things in one switch: present shows you a file as a card in the thread, the Viewer opens and annotates it, and a stream rule stops the agent mid-edit when it writes a code comment.
What this package declares
The file a client reads when it loads this plugin, exactly as this revision carries it.
plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "swiss-knife",
"version": "0.3.1",
"description": "Small useful things in one switch: `present` shows you a file as a card in the thread, the Viewer opens and annotates it, and a stream rule stops the agent mid-edit when it writes a code comment.",
"author": {
"name": "Dimension"
},
"license": "MIT",
"keywords": [
"present",
"files",
"images",
"viewer",
"artifactory",
"mcp-apps",
"documents",
"pdf",
"docx",
"pptx",
"xlsx",
"audio",
"video",
"rules",
"ttsr",
"comments",
"code-style",
"tools"
],
"extensions": {
"ai.insodimension.dimension": {
"contractVersion": 1,
"title": "Swiss Knife",
"icon": "hammer",
"category": "tools",
"channel": "canary",
"toolLoading": "eager",
"requires": {
"dimension": ">=0.10.24"
},
"supersedes": ["viewer", "ban-comments"],
"toolRenderer": [
{
"match": "present",
"use": "presentation",
"icon": "image",
"title": "Present"
}
],
"artifactories": [
{
"mcpServer": "viewer",
"label": "Viewer",
"icon": "file",
"modelSpaces": [],
"grants": ["files:read"],
"opens": [
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["png", "jpg", "jpeg", "gif", "webp", "avif", "bmp", "ico", "svg"],
"mime": ["image/png", "image/jpeg", "image/gif", "image/webp", "image/avif", "image/bmp", "image/x-icon", "image/svg+xml"],
"annotates": ["marks"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["pdf"],
"mime": ["application/pdf"],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["docx"],
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["pptx"],
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.presentation"],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["xlsx", "xlsm"],
"mime": ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-excel.sheet.macroenabled.12"],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["md", "markdown", "mdx"],
"mime": ["text/markdown"],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["html", "htm", "xhtml"],
"mime": ["text/html", "application/xhtml+xml"],
"annotates": ["element"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["txt", "log", "csv", "tsv", "json", "yaml", "yml", "toml", "xml", "css", "js", "mjs", "ts", "tsx", "jsx", "py", "rs", "go", "java", "c", "h", "cpp", "sh", "sql"],
"mime": [
"text/plain",
"text/csv",
"text/tab-separated-values",
"application/json",
"application/yaml",
"application/toml",
"application/xml",
"text/css",
"text/javascript",
"text/typescript",
"text/x-python",
"text/x-rust",
"text/x-go",
"text/x-java",
"text/x-c",
"text/x-c++",
"text/x-shellscript",
"application/sql"
],
"annotates": ["text"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["mp3", "wav", "flac", "ogg", "oga", "opus", "m4a", "m4b", "aac", "weba", "mka"],
"mime": ["audio/mpeg", "audio/wav", "audio/x-wav", "audio/flac", "audio/x-flac", "audio/ogg", "audio/mp4", "audio/x-m4a", "audio/aac", "audio/webm", "audio/x-matroska"],
"annotates": ["timeline"],
"label": "Viewer"
},
{
"tool": "view_file",
"pathArg": "path",
"nameArg": "filename",
"ext": ["mp4", "m4v", "mov", "webm", "ogv", "mkv"],
"mime": ["video/mp4", "video/x-m4v", "video/quicktime", "video/webm", "video/ogg", "video/x-matroska"],
"annotates": ["timeline"],
"label": "Viewer"
}
]
}
]
}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- mcp.json
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- ai.insodimension.dimensionships a directory of files