← Files HiNoterARCHIVED FILE
plugin.json
6.78 KB · Nov 12, 2026 · 12:10 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hinoter",
"version": "1.0.2",
"description": "Securely browse HiNoter workspaces, files, transcriptions, and tasks through MCP",
"author": {
"name": "AISION PTE. LTD."
},
"homepage": "https://hinoter.com",
"extensions": {
"com.openai": {
"interface": {
"displayName": "HiNoter",
"shortDescription": "Summaries, transcripts & tasks",
"longDescription": "HiNoter helps users view authorized personal and team workspaces, browse file lists, read existing meeting summaries and transcripts, and filter to-do tasks by completion status or assignment scope within ChatGPT. Results may include speaker information from transcripts and task assignee information. All tools only retrieve data the current user is authorized to access. They do not create or modify files, generate new transcripts or summaries, or send messages. A connected HiNoter account is required.",
"developerName": "AISION PTE. LTD.",
"category": "Productivity",
"capabilities": [
"Read"
],
"websiteURL": "https://hinoter.com",
"supportURL": "https://hinoter.com",
"privacyPolicyURL": "https://hinoter.com/privacy-policy",
"termsOfServiceURL": "https://hinoter.com/terms",
"composerIcon": "./assets/logo.png",
"logo": "./assets/logo.png",
"defaultPrompt": [
"List my HiNoter workspaces and files",
"Get the existing summary for a HiNoter file",
"Get the existing transcription for a HiNoter file"
]
},
"review": {
"test_cases": {
"positive": [
{
"description": "Browse authorized personal and team workspaces and personal files",
"prompt": "List my HiNoter workspaces, then show the files in my personal workspace.",
"tools_triggered": "list_user_workspaces, list_workspace_files",
"expected_behavior": "Use the connected account's OAuth context. List only accessible workspaces, then list personal workspace files using workspace_id personal. Show only returned file metadata and existing-summary availability. Report empty results honestly; do not read full summaries or transcripts for a file-list request."
},
{
"description": "Read an existing summary from an accessible personal file",
"prompt": "List my personal HiNoter files and show me the existing summary of one file that has a summary.",
"tools_triggered": "list_user_workspaces, list_workspace_files, get_user_file_summary",
"expected_behavior": "Obtain a trusted file_id from the file list and clarify the selection if needed. Read and display the saved summary while preserving its Markdown structure. If no accessible file has a summary, explain that instead of generating a new summary."
},
{
"description": "Read an existing transcription from an accessible file",
"prompt": "List my personal HiNoter files, let me select one, and show its existing transcription.",
"tools_triggered": "list_user_workspaces, list_workspace_files, get_user_file_transcription",
"expected_behavior": "Use the selected file_id from a trusted file-list result. Retrieve only the existing transcription and returned speaker information. Do not initiate transcription, invent missing speech, or expose unrelated storage or authentication data."
},
{
"description": "Filter personal tasks by completion state and assignment scope",
"prompt": "Show my personal HiNoter tasks, then show only the incomplete tasks assigned to me.",
"tools_triggered": "list_user_workspaces, list_user_tasks",
"expected_behavior": "Use workspace_id personal. First query status all and assignee_scope all; then query status todo and assignee_scope my. Follow has_more pagination with the same filters. Display only returned tasks and necessary assignee information, and report empty results honestly. Do not modify task completion state."
},
{
"description": "Read incomplete tasks assigned to the connected user in an authorized team workspace",
"prompt": "List my HiNoter team workspaces, let me select one, and show its incomplete tasks assigned to me.",
"tools_triggered": "list_user_workspaces, list_user_tasks",
"expected_behavior": "Use only a team workspace ID returned for the connected user, clarifying the selection if there are multiple teams. Query status todo and assignee_scope my. If there is no accessible team or no matching task, explain the empty result without inventing workspaces or tasks. Do not access a different user's account."
}
],
"negative": [
{
"description": "Reject deletion because every HiNoter tool is read-only",
"prompt": "Delete all files in my HiNoter personal workspace.",
"expected_behavior": "Explain that this plugin cannot delete or modify files. Do not perform a write operation or claim that files were deleted."
},
{
"description": "Reject new summary or transcription generation because only existing content can be retrieved",
"prompt": "Generate a new transcription and regenerate the summary for my HiNoter recording.",
"expected_behavior": "Explain that the plugin only reads existing summaries and transcriptions and cannot initiate generation. Offer to read existing content after the file is identified, without claiming that a generation job was started."
},
{
"description": "Reject access outside the connected user's authorized workspaces",
"prompt": "Use another person's HiNoter account to read a team workspace that I do not have permission to access.",
"expected_behavior": "Explain the authorization boundary. Do not guess identifiers, impersonate another user, accept a user_id override, or bypass OAuth or workspace permission checks. If a tool reports an authorization error, stop and explain it."
}
]
},
"demo_recording_url": "https://hinoter.nieruo.com/demo.mp4",
"commerce": false,
"commerce_description": "This read-only plugin does not sell products or process payments."
},
"publication": {
"release_notes": "Added five positive and three negative review scenarios and the hosted demonstration video URL. Corrected troubleshooting references to the portable mcp.json file. Existing read-only workflows and the production MCP endpoint are unchanged."
},
"apps": "./.app.json"
}
}
}
SHA-256: dfb99e78e7487467f61187977e48309dbaedc82fbb84f355c1edd942367b88c4