Clappia Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Clappia Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Python-based MCP server that provides a comprehensive interface for interacting with the Clappia platform. This server enables programmatic management of Clappia applications, forms, submissions, and more.
Clappia is a no-code platform that allows businesses, operations teams, and non-developers to create custom apps—like inspection forms, approval workflows, field data collection tools, internal dashboards, and more—without writing a single line of code. It's used across industries for automating manual processes, digitizing paperwork, and improving operational efficiency. Click here to learn more.
claude_desktop_config.json: {
"mcpServers": {
"clappia-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/<YOUR_DIECTORY>/Desktop/clappia-mcp",
"run",
"clappia-mcp.py"
],
"env": {
"CLAPPIA_API_KEY": "<ENTER_YOUR_WORKPLACE_API_KEY_HERE>",
"CLAPPIA_WORKPLACE_ID": "<ENTER_YOUR_WORKPLACE_ID_HERE>"
}
}
}
} git clone https://github.com/clappia-dev/clappia-mcp.git
cd clappia-mcp # Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv syncclappia-mcp/
├── clappia-mcp.py # Main MCP server implementation
├── tools/ # Core functionality modules
│ ├── add_field.py # Field addition functionality
│ ├── create_app.py # App creation functionality
│ ├── create_submission.py # Submission creation
│ ├── edit_submission.py # Submission editing
│ ├── get_definition.py # App definition retrieval
│ ├── get_submissions.py # Submission retrieval
│ ├── get_submissions_aggregation.py # Analytics functionality
│ ├── update_field.py # Field update functionality
│ ├── update_submission_owners.py # Owner management
│ └── update_submission_status.py # Status management
├── pyproject.toml # Project metadata and dependencies
├── uv.lock # Dependency lock file (if using uv)
└── .env # Environment variablesclaude_desktop_config.json file from tools.create_app import create_app, Section, Field
result = create_app(
app_name="Employee Survey",
requesting_user_email_address="[email protected]",
sections=[
Section(
sectionName="Personal Information",
fields=[
Field(
fieldType="singleLineText",
label="Full Name",
required=True
)
]
)
]
) from tools.add_field import add_field_to_app
result = add_field_to_app(
app_id="APP123",
requesting_user_email_address="[email protected]",
section_index=0,
field_index=1,
field_type="singleLineText",
label="Employee ID",
required=True,
validation="number",
block_width_percentage_desktop=50,
block_width_percentage_mobile=100
) from tools.update_field import update_field_in_app
result = update_field_in_app(
app_id="APP123",
requesting_user_email_address="[email protected]",
field_name="employeeName",
label="Full Employee Name",
required=True,
validation="none",
display_condition="status == 'active'"
) from tools.create_submission import create_app_submission
result = create_app_submission(
app_id="APP123",
data={"employeeName": "John Doe", "employeeId": "12345"},
email="[email protected]"
) from tools.get_submissions import get_app_submissions, Filters, QueryGroup, Query, Condition
filters = Filters(queries=[
QueryGroup(queries=[
Query(
conditions=[
Condition(
operator="EQ",
filterKeyType="STANDARD",
key="status",
value="active"
)
],
operator="AND"
)
])
])
result = get_app_submissions(
app_id="APP123",
requesting_user_email_address="[email protected]",
page_size=10,
filters=filters
)singleLineText: Single line text inputmultiLineText: Multi-line text inputrichTextEditor: Rich text editor with formattingsingleSelector: Single choice selectionmultiSelector: Multiple choice selectiondropDown: Dropdown selectiondateSelector: Date selectiontimeSelector: Time selectiondateTime: Combined date and time selectionfile: File upload with configurable typescamera: Direct camera capturesignature: Digital signature capturecalculationsAndLogic: Formula-based calculationsgpsLocation: Location trackingcodeScanner: Barcode/QR code scanningnfcReader: NFC tag readingliveTracking: Real-time location trackingaddress: Address input with validationnone: No validationnumber: Numeric validationemail: Email format validationurl: URL format validationcustom: Custom validation rulesblock_width_percentage_desktop: Width on desktop (25, 50, 75, 100)block_width_percentage_mobile: Width on mobile (50, 100)number_of_cols: Number of columns for selector fieldsrequired: Whether field is mandatoryis_editable: Whether field can be editedhidden: Whether field is hiddenretain_values: Whether to retain values when hiddendisplay_condition: Condition for field visibilityeditability_condition: Condition for field editabilityallowed_file_types: List of allowed file typesmax_file_allowed: Maximum files allowed (1-10)image_quality: Image quality (low, medium, high)file_name_prefix: Prefix for uploaded filesThe server implements comprehensive error handling for:
All errors are logged with appropriate context for debugging.
For support, please:
This project is licensed under the MIT License - see the LICENSE file for details.
The MCP server integrates with Clappia's public API to provide the following capabilities:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.