Query Claude Compliance Data as a SQL Server Database in Node.js
You can use CData Connect AI to query Claude Compliance data through a SQL Server interface. Follow the procedure below to create a virtual database for Claude Compliance in Connect AI and start querying using Node.js.
CData Connect AI provides a pure MySQL, cloud-to-cloud interface for Claude Compliance, allowing you to easily query live Claude Compliance data in Node.js — without replicating the data to a natively supported database. As you query data in Node.js, CData Connect AI pushes all supported SQL operations (filters, JOINs, etc) directly to Claude Compliance, leveraging server-side processing to quickly return Claude Compliance data.
Configure Claude Compliance Connectivity for NodeJS
Connectivity to Claude Compliance from NodeJS is made possible through CData Connect AI. To work with Claude Compliance data from NodeJS, we start by creating and configuring a Claude Compliance connection.
- Log into Connect AI, click Sources, and then click Add Connection
- Select "Claude Compliance" from the Add Connection panel
-
Enter the necessary authentication properties to connect to Claude Compliance.
The driver connects to Claude Compliance using a Compliance Access Key, the only supported authentication method. Set the following connection property:
- APIKey: The Compliance Access Key you created.
Creating a Compliance Access Key
- Enable the Compliance API for your organization.
- Sign in to claude.ai as a primary owner or organization owner and open Organization settings > API > Keys.
- Select Create Key and assign only the scopes your integration needs:
- read:compliance_activities for Activities and the typed activity views.
- read:compliance_org_data for organizations, roles, groups, and settings.
- read:compliance_user_data for users, chats, files, projects, and downloads.
- delete:compliance_user_data for the explicit Delete stored procedures.
- Create the key and copy it when it appears. The key starts with sk-ant-api01- and is shown only once.
Optionally, set OrganizationUUID to limit organization-scoped views (such as OrganizationUsers and ComplianceRoles) to a single linked organization. If it is left empty, those views default to the first available organization and do not include data from all linked organizations.
- Click Save & Test
-
Navigate to the Permissions tab in the Add Claude Compliance Connection page and update the User-based permissions.
Add a Personal Access Token
When connecting to Connect AI through the REST API, the OData API, or the Virtual SQL Server, a Personal Access Token (PAT) is used to authenticate the connection to Connect AI. It is best practice to create a separate PAT for each service to maintain granularity of access.
- Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
- On the Settings page, go to the Access Tokens section and click Create PAT.
-
Give the PAT a name and click Create.
- The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.
With the connection configured and a PAT generated, you are ready to connect to Claude Compliance data from Node.js.
Query Claude Compliance from Node.js
The following example shows how to define a connection and execute queries to Claude Compliance with the SQL Server module. You will need the following information:
- server: tds.cdata.com
- port: 14333
- user: a Connect AI user (e.g. [email protected])
- password: the PAT for the above user
- database: The connection you configured for Claude Compliance (ClaudeCompliance1)
Connect to Claude Compliance data and start executing queries with the code below:
var sql = require('mssql')
var config = {
server: 'tds.cdata.com',
port: 14333,
user: '[email protected]', //update me
password: 'CONNECT_USER_PAT', //update me
options: {
encrypt: true,
database: 'ClaudeCompliance1'
}
}
sql.connect(config, err => {
if(err){
throw err ;
}
new sql.Request().query('SELECT * FROM Projects', (err, result) => {
console.dir(result)
})
});
sql.on('error', err => {
console.log("SQL Error: " ,err);
})