Commonroom MCP connector
OAuth 2.1/DCR MarketingAnalyticsCRM & SalesConnect to Common Room MCP to manage community members, objects, and feedback data directly from your AI workflows.
Commonroom MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Set up the connector
Section titled “Set up the connector”Register your Commonroom MCP credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
Commonroom MCP uses Dynamic Client Registration (DCR) — no client ID or secret is required. The only step is creating a connection in Scalekit and authorizing your Common Room account.
-
Create a connection in Scalekit
- In the Scalekit dashboard, go to AgentKit → Connections → Create Connection.
- Search for Commonroom MCP and click Create.
- Note the Connection name — use this as
connection_namein your code (e.g.,commonroommcp).
-
Authorize your Common Room account
Generate an authorization link and open it in a browser to complete the Common Room OAuth flow.
The user is redirected to Common Room to sign in and grant access. Scalekit stores the token and injects it automatically into every tool call — no further configuration is needed.
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'commonroommcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Commonroom MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'commonroommcp_commonroom_get_catalog',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "commonroommcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Commonroom MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="commonroommcp_commonroom_get_catalog",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update commonroom — Update fields on an existing Common Room object (contact, organization, etc.) by its ID
- Feedback commonroom submit — Submit feedback on the quality of a query result — use after presenting data to the user
- List commonroom — List Common Room objects (contacts, organizations, segments, etc.) with optional pagination, filtering, and sorting
- Get commonroom — Retrieve the catalog of available object types, their properties, and allowed sort fields in Common Room
- Create commonroom — Create a new object in Common Room — contact, organization, activity, or custom object type
Common workflows
Section titled “Common workflows”List community members
Use commonroommcp_commonroom_list_objects with objectType set to Contact to retrieve community members with optional filtering and pagination.
const result = await actions.executeTool({ connectionName: 'commonroommcp', identifier: 'user_123', toolName: 'commonroommcp_commonroom_list_objects', toolInput: { objectType: 'Contact', limit: 20, },});console.log(result);result = actions.execute_tool( connection_name="commonroommcp", identifier="user_123", tool_name="commonroommcp_commonroom_list_objects", tool_input={ "objectType": "Contact", "limit": 20, },)print(result)Create a contact
Use commonroommcp_commonroom_create_object to add a new contact to your Common Room community.
const result = await actions.executeTool({ connectionName: 'commonroommcp', identifier: 'user_123', toolName: 'commonroommcp_commonroom_create_object', toolInput: { objectType: 'Contact', email: 'alex@example.com', fullName: 'Alex Johnson', title: 'Senior Engineer', companyName: 'Example Corp', },});console.log(result);result = actions.execute_tool( connection_name="commonroommcp", identifier="user_123", tool_name="commonroommcp_commonroom_create_object", tool_input={ "objectType": "Contact", "email": "alex@example.com", "fullName": "Alex Johnson", "title": "Senior Engineer", "companyName": "Example Corp", },)print(result)Discover available object types
Use commonroommcp_commonroom_get_catalog to retrieve the full list of object types, their properties, and allowed sort fields before querying or creating objects.
const catalog = await actions.executeTool({ connectionName: 'commonroommcp', identifier: 'user_123', toolName: 'commonroommcp_commonroom_get_catalog', toolInput: {},});console.log(catalog);catalog = actions.execute_tool( connection_name="commonroommcp", identifier="user_123", tool_name="commonroommcp_commonroom_get_catalog", tool_input={},)print(catalog)Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
commonroommcp_commonroom_create_object
#
Create a new object in Common Room — contact, organization, activity, or custom object type. 24 params
Create a new object in Common Room — contact, organization, activity, or custom object type.
objectType string required The Common Room object type to operate on. Use get_catalog to discover all available types. activityBody string optional Body text content of the activity being recorded. activityType string optional Activity type identifier for this engagement signal. Use get_catalog with objectType=ActivityType to see all valid types. communityId string optional ID of the Common Room community to operate on. companyDomain string optional Domain of the company (e.g. acme.com). Used to link contacts to organizations. companyName string optional Name of the company the contact belongs to. contactId string optional The unique ID of an existing Contact in Common Room. customFields array optional Custom field values to set on the object. description string optional Optional description or notes about the object. domain string optional Domain of the organization (e.g. acme.com). email string optional Email address of the contact. Used as the unique identifier for Contact objects. entityType string optional The entity type associated with the activity. fullName string optional Full name of the contact. githubUsername string optional GitHub username of the contact. linkedInUrl string optional Full LinkedIn profile URL of the contact. name string optional Name of the organization or custom object. note string optional A note to attach to this contact or organization. occurredAt string optional ISO 8601 timestamp for when the activity occurred. organizationId string optional The unique ID of an existing Organization in Common Room. prospectorCompanyId string optional The Prospector company ID to associate with this record. prospectorContactId string optional The Prospector contact ID to associate with this record. segmentId string optional The ID of a Segment to assign this contact or organization to. title string optional Job title of the contact. twitterHandle string optional Twitter/X handle of the contact (without @). commonroommcp_commonroom_get_catalog
#
Retrieve the catalog of available object types, their properties, and allowed sort fields in Common Room. 1 param
Retrieve the catalog of available object types, their properties, and allowed sort fields in Common Room.
communityId string optional ID of the Common Room community to operate on. commonroommcp_commonroom_list_objects
#
List Common Room objects (contacts, organizations, segments, etc.) with optional pagination, filtering, and sorting. 10 params
List Common Room objects (contacts, organizations, segments, etc.) with optional pagination, filtering, and sorting.
objectType string required The Common Room object type to operate on. Use get_catalog to discover all available types. communityId string optional ID of the Common Room community to operate on. cursor string optional Pagination cursor returned by a previous response. direction string optional Sort direction for the results. filter object optional Filter criteria as a JSON object to narrow results. id string optional The unique ID of the object to retrieve. limit integer optional Maximum number of objects to return per page. objectTypeId string optional The ID of a custom object type to query. properties array optional List of property names to include in the response. sort string optional Field name to sort results by. commonroommcp_commonroom_submit_feedback
#
Submit feedback on the quality of a query result — use after presenting data to the user. 5 params
Submit feedback on the quality of a query result — use after presenting data to the user.
rating string required Your rating for the quality of the query result. communityId string optional ID of the Common Room community to operate on. feedbackText string optional Optional text explaining your feedback. objectType string optional The Common Room object type to operate on. Use get_catalog to discover all available types. queryDescription string optional Description of the query you are rating. commonroommcp_commonroom_update_object
#
Update fields on an existing Common Room object (contact, organization, etc.) by its ID. 16 params
Update fields on an existing Common Room object (contact, organization, etc.) by its ID.
objectType string required The Common Room object type to operate on. Use get_catalog to discover all available types. communityId string optional ID of the Common Room community to operate on. companyDomain string optional Domain of the company (e.g. acme.com). Used to link contacts to organizations. companyName string optional Name of the company the contact belongs to. contactId string optional The unique ID of an existing Contact in Common Room. customFields array optional Custom field values to set on the object. email string optional Email address of the contact. Used as the unique identifier for Contact objects. fullName string optional Full name of the contact. githubUsername string optional GitHub username of the contact. linkedInUrl string optional Full LinkedIn profile URL of the contact. organizationId string optional The unique ID of an existing Organization in Common Room. prospectorCompanyId string optional The Prospector company ID to associate with this record. prospectorContactId string optional The Prospector contact ID to associate with this record. segmentId string optional The ID of a Segment to assign this contact or organization to. title string optional Job title of the contact. twitterHandle string optional Twitter/X handle of the contact (without @).