About rosemary-charnley-smartbear-loopio-server
rosemary-charnley-smartbear-loopio-server is an MCP server published by git+rosemary-charnley-smartbear in the Developer Tools category: mCP Server (STDIO) for Loopio API - Library Entries management.
Install
npx rosemary-charnley-smartbear-loopio-mcp-serverclaude mcp add loopio-mcp -- npx -y rosemary-charnley-smartbear-loopio-mcp-servernpx -y rosemary-charnley-smartbear-loopio-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (51)
bulkCreateLibraryEntriesCreate multiple library entries in a single batch operation, returns a task ID for tracking the async operation
Parameters not published.
createComplianceSetCreate a new compliance/answer set for a project with custom options
Parameters not published.
createCustomProjectFieldCreate a new custom project field definition with name, type (SHORT_TEXT or DROPDOWN), and optional dropdown values
Parameters not published.
createLibraryEntryCreate a new library entry with questions, answers, location (stack/category/subcategory), language, and tags
Parameters not published.
createProjectCreate a new project with name, type, company, due date, and optional custom fields and merge variables
Parameters not published.
createProjectEntryCreate a new entry (question/answer pair) in a project within a specific section or subsection
Parameters not published.
createProjectFromTemplateCreate a new project from an existing template, copying structure and settings
Parameters not published.
createProjectSectionCreate a new top-level section in a project with a name and optional position
Parameters not published.
createProjectSubSectionCreate a new subsection within a parent section in a project
Parameters not published.
deleteCustomProjectFieldPermanently delete a custom project field definition
Parameters not published.
Show all 51 tools
deleteFilePermanently delete a file by ID
Parameters not published.
deleteLibraryEntryPermanently delete a library entry by ID
Parameters not published.
deleteProjectPermanently delete a project by ID
Parameters not published.
deleteProjectComplianceSetPermanently delete a compliance/answer set from a project
Parameters not published.
deleteProjectEntryPermanently delete a project entry (question/answer pair)
Parameters not published.
deleteProjectSectionPermanently delete a project section and all its contents
Parameters not published.
deleteProjectSubSectionPermanently delete a project subsection and all its contents
Parameters not published.
getCustomProjectFieldRetrieve detailed information about a specific custom project field definition
Parameters not published.
getCustomProjectFieldValuesForProjectRetrieve all custom field values set for a specific project
Parameters not published.
getLibraryEntryRetrieve detailed information about a specific library entry by ID with optional merge variable substitution
Parameters not published.
getLibraryEntryAttachmentsRetrieve all file attachments associated with a specific library entry
Parameters not published.
getLibraryEntryHistoryRetrieve the revision history for a library entry showing all changes made over time
Parameters not published.
getLibraryEntryHistoryItemRetrieve a specific historical revision of a library entry by history ID
Parameters not published.
getProjectRetrieve detailed information about a specific project by ID with optional field selection
Parameters not published.
getProjectComplianceSetRetrieve details of a specific compliance/answer set for a project
Parameters not published.
getProjectComplianceSetsRetrieve all compliance/answer sets configured for a project
Parameters not published.
getProjectEntryRetrieve detailed information about a specific project entry (question/answer pair)
Parameters not published.
getProjectParticipantsRetrieve all participants (users and teams) assigned to a project with their roles
Parameters not published.
getProjectSectionRetrieve detailed information about a specific project section
Parameters not published.
getProjectSubSectionRetrieve detailed information about a specific project subsection
Parameters not published.
getProjectSummaryRetrieve a summary overview of a project including key metrics and status
Parameters not published.
getProjectSummaryListRetrieve a list of project summaries for projects updated after a specified date
Parameters not published.
listCustomProjectFieldsList all custom project field definitions with optional filtering by source system
Parameters not published.
listLibraryEntriesRetrieve a paginated list of library entries with optional filtering by search query, language, date, tags, and attachment presence
Parameters not published.
listProjectEntriesRetrieve a paginated list of entries (questions/answers) in a project with optional filtering by section or subsection
Parameters not published.
listProjectSectionsRetrieve a paginated list of top-level sections in a project
Parameters not published.
listProjectSourceDocumentsRetrieve all source documents (RFP files, questionnaires, etc.) attached to a project
Parameters not published.
listProjectSubSectionsRetrieve a paginated list of subsections in a project with optional filtering by parent section
Parameters not published.
listProjectTemplatesRetrieve a paginated list of available project templates
Parameters not published.
listProjectsRetrieve a paginated list of projects with optional filtering by project type (RFP, RFI, etc.) and owner
Parameters not published.
listStacksList all library stacks (organizational containers for library entries) with optional field expansion
Parameters not published.
setCustomProjectFieldValuesForProjectSet or update custom field values for a project using key-value pairs
Parameters not published.
showFileRetrieve metadata and information about a specific file by ID
Parameters not published.
updateCustomProjectFieldUpdate a custom project field definition using JSON Patch operations
Parameters not published.
updateLibraryEntryUpdate an existing library entry using JSON Patch operations to modify specific fields like answer text, questions, or tags
Parameters not published.
updateProjectUpdate a project
Parameters not published.
updateProjectComplianceSetUpdate an existing compliance/answer set
Parameters not published.
updateProjectEntryUpdate a project entry
Parameters not published.
updateProjectParticipantsAdd, remove, or update participants and their roles (ADMIN, CONTRIBUTOR, REVIEWER) on a project
Parameters not published.
updateProjectSectionUpdate a project section
Parameters not published.
updateProjectSubSectionUpdate a project subsection
Parameters not published.
Ask AI
Ask AI about rosemary-charnley-smartbear-loopio-server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
4 checks have not been run yet.
README
Loopio MCP Server (STDIO)
This is a Model Context Protocol (MCP) server that provides comprehensive programmatic access to the Loopio Public API v2 via STDIO transport. It exposes 51 tools covering library entries, projects, compliance sets, custom fields, participants, sections, templates, and file management. It's designed to integrate with VS Code and GitHub Copilot, enabling AI-powered access to your entire Loopio workspace - from content library management to project collaboration and workflow automation.
Features
This MCP server provides 51 tools for comprehensive Loopio API access:
Library Entry Tools (9)
- listLibraryEntries - List and search library entries with advanced filtering
- getLibraryEntry - Get a specific library entry by ID
- createLibraryEntry - Create new library entries
- updateLibraryEntry - Update library entries using JSON Patch operations
- deleteLibraryEntry - Delete library entries
- getLibraryEntryAttachments - Get attachments for a library entry
- getLibraryEntryHistory - Get the history of changes to a library entry
- getLibraryEntryHistoryItem - Get a specific history item
- bulkCreateLibraryEntries - Create multiple library entries at once
Stacks & Files (3)
- listStacks - List available stacks (library structure)
- showFile - Get file information
- deleteFile - Delete a file
Projects (8)
- listProjects - List projects with filters
- getProject - Get a specific project by ID
- createProject - Create a new project
- updateProject - Update project status
- deleteProject - Delete a project
- getProjectSummary - Get project summary
- getProjectSummaryList - Get list of project summaries
- listProjectSourceDocuments - List source documents for a project
Project Compliance Sets (5)
- getProjectComplianceSets - List compliance sets for a project
- getProjectComplianceSet - Get a specific compliance set
- createComplianceSet - Create a new compliance set
- updateProjectComplianceSet - Update a compliance set
- deleteProjectComplianceSet - Delete a compliance set
Project Participants (2)
- getProjectParticipants - Get project participants
- updateProjectParticipants - Update project participants
Custom Project Fields (7)
- listCustomProjectFields - List custom project fields
- getCustomProjectField - Get a specific custom field
- createCustomProjectField - Create a new custom field
- updateCustomProjectField - Update a custom field
- deleteCustomProjectField - Delete a custom field
- getCustomProjectFieldValuesForProject - Get custom field values for a project
- setCustomProjectFieldValuesForProject - Set custom field values for a project
Project Templates (2)
- listProjectTemplates - List available project templates
- createProjectFromTemplate - Create project from template
Project Entries (5)
- listProjectEntries - List entries in a project
- getProjectEntry - Get a specific project entry
- createProjectEntry - Create a new project entry
- updateProjectEntry - Update a project entry
- deleteProjectEntry - Delete a project entry
Project Sections (5)
- listProjectSections - List sections in a project
- getProjectSection - Get a specific section
- createProjectSection - Create a new section
- updateProjectSection - Update a section
- deleteProjectSection - Delete a section
Project SubSections (5)
- listProjectSubSections - List subsections
- getProjectSubSection - Get a specific subsection
- createProjectSubSection - Create a new subsection
- updateProjectSubSection - Update a subsection
- deleteProjectSubSection - Delete a subsection
Resources
- loopio://libraryEntry/{id} - Access individual library entries as resources
Prompts
- searchLibraryEntries - Search library entries with natural language queries
Installation and Setup
Prerequisites
- Node.js (version >= 18.0.0)
- npm (comes with Node.js)
- Loopio OAuth 2.0 Client Credentials (client_id and client_secret)
Environment Variables
The server uses the following environment variables from a .env.rfp file:
LOOPIO_CLIENT_ID=your_client_id_here # Required
LOOPIO_CLIENT_SECRET=your_client_secret_here # Required
Create a .env.rfp file in the project root with your OAuth client credentials. The server will automatically:
- Fetch an access token on startup using these credentials
- Refresh the token every 59 minutes to maintain authentication
Installation Steps
-
Navigate to the project directory:
cd Loopio-MCP -
Install dependencies:
npm install -
Build the project:
npm run build
VS Code Integration
The server is configured for VS Code MCP integration in .vscode/mcp.json:
{
"servers": {
"loopio": {
"command": "node",
"args": ["--loader", "ts-node/esm", "src/index.ts"],
"cwd": "C:\\Users\\<user>\\Documents\\GitHub\\Loopio-MCP"
}
}
}
After installation:
- Create a
.env.rfpfile with your OAuth client credentials (see Environment Variables section) - Reload VS Code (Ctrl+Shift+P → "Developer: Reload Window")
- The Loopio MCP server will automatically fetch and refresh tokens
- The server will be available to GitHub Copilot
API Authentication
This server uses automatic OAuth 2.0 token management with client credentials flow. The server handles token fetching and refresh automatically - you only need to provide your client credentials.
How It Works:
- On Startup: Server fetches an access token using your client credentials
- Auto-Refresh: Token is automatically refreshed every 59 minutes
- No Manual Intervention: You never need to manually update or manage tokens
Setup Steps:
-
Register an OAuth Application in your Loopio instance
-
Obtain Client Credentials:
client_id: Your OAuth application's client IDclient_secret: Your OAuth application's client secret
-
Request the Following Scopes:
crm:readcustomProjectField:readfile:readlibrary:readproject:readproject.participant:read
-
Create
.env.rfpFile in the project root:LOOPIO_CLIENT_ID=your_client_id_here LOOPIO_CLIENT_SECRET=your_client_secret_here -
Start the Server: Token management is fully automatic!
Token Endpoint:
The server automatically calls:
POST https://api.loopio.com/oauth2/access_token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
scope=crm:read customProjectField:read file:read library:read project:read project.participant:read
client_id=<your_client_id>
client_secret=<your_client_secret>
Usage Examples
Once configured in VS Code, you can use the server through GitHub Copilot:
- "List the latest library entries from Loopio"
- "Get library entry 1744 from Loopio"
- "Create a new library entry about our pricing"
- "Search Loopio for security-related entries"
- "List all projects in Loopio"
- "Create a new project for an RFP"
- "Show me the project sections"
Project Structure
Loopio-MCP/
├── .vscode/
│ └── mcp.json # VS Code MCP configuration
├── src/
│ ├── index.ts # Main MCP server (STDIO mode)
│ ├── loopio-client.ts # Loopio API client wrapper
│ └── types.ts # TypeScript type definitions
├── dist/ # Compiled JavaScript (after build)
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # This file
Development
Run in Development Mode
npm run dev
Build for Production
npm run build
Run Production Build
npm start
API Reference
Based on the Loopio Public API v2 OpenAPI Specification:
- Base URL:
https://api.loopio.com/data/v2 - Authentication: OAuth 2.0 Bearer Token
- Documentation: See attached
loopio-api.yamlfor full API specification
Troubleshooting
Server Not Appearing in VS Code
- Verify
.vscode/mcp.jsonhas the correct path and token - Reload VS Code window
- Check VS Code output panel for MCP errors
"Client credentials not found" Error
Ensure .env.rfp file exists in the project root with LOOPIO_CLIENT_ID and LOOPIO_CLIENT_SECRET set.
Connection Errors
- Verify your client credentials are correct in
.env.rfp - Check that the Loopio API base URL is correct
- Ensure your OAuth application has the required scopes
- Token refresh happens automatically every 59 minutes - no manual intervention needed
Tool Errors
- Check the Loopio API documentation for required parameters
- Verify stack IDs, category IDs exist in your Loopio instance
- Ensure your access token has the necessary permissions
Server customization
Port
If you want to run the MCP server on a different port, you can set the MCP_SERVER_PORT environment variable before starting the server. For example:
export MCP_SERVER_PORT=4002
API url
By default, MCP Server is using first server url defined in the OpenAPI Specification (OAS) file.
In order to customize API URL for the MCP server, please set the MCP_API_URL environment variable:
export MCP_API_URL=<desired_url>
MCP server methods
If you need to modify the MCP server methods, you can do so in the src/index.ts file.
The methods are generated based on the OpenAPI Specification (OAS) file, and you can adjust them as needed.
Troubleshooting
If the project is not running as expected:
- Ensure all dependencies are installed by running
npm install - Verify that you are using Node.js version 18 or higher:
node -v - Check for errors in the terminal output when running
npm run dev - Ensure the port (default: 4000) is not already in use by another application.
- Verify custom environment variables:
echo $MCP_SERVER_PORT echo $MCP_API_URL - If the issue persists, review the code in
src/index.tsfor potential misconfigurations or errors.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.