接口文档
Main OpenAPI 文档,该接口文档包含代码库信息、项目配置等数据。
Analysis OpenAPI 文档,包含代码扫描、代码度量、代码审计等结果数据接口。
接口请求前缀
Main OpenAPI:
{origin}/server/main/api/Analysis OpenAPI:
{origin}/server/analysis/api/
说明:{origin} 指当前浏览器访问该文档 URL 域名部分,例如 https://tca.tencent.com。
鉴权方式
请求头部中添加如下格式:
// request headers 内添加
{
"TCA-USERID": "{当前user-id,比如xiaoming}",
"TCA-TICKET": "{TCA-TICKET}",
"TCA-TIMESTAMP": "{当前时间戳,比如1614565593}",
}
python 示例
from time import time
from hashlib import sha256
def get_headers(user_id, token):
timestamp = int(time())
token_sig = "%s%s#%s#%s%s" % (timestamp, user_id, token, user_id, timestamp)
ticket = sha256(token_sig.encode("utf-8")).hexdigest().upper()
return {
"TCA-USERID": user_id,
"TCA-TIMESTAMP": str(timestamp),
"TCA-TICKET": ticket
}
进入个人中心-个人令牌获取 user_id 和 token 位置:

请求示例
如何获取团队标识、项目标识
可从访问链接URL中获取团队标识:org_sid,项目标识:team_name 字段。
如分析项目列表页面URL:{origin}/t/{org_sid}/p/{team_name}/repos/{repo_id}/projects
形如URL:{origin}/t/LRgg3msnZzL/p/tca/repos/20/projects
其对应的团队标识 org_sid 为 LRgg3msnZzL ,项目标识 team_name 为 tca
请求示例
import requests
# 假设:
# 当前域名为http://tca.com/,当前org_sid为helloworld
# 获取helloworld团队下的hellotca项目下登记的代码库
url="http://tca.com/server/main/api/orgs/helloworld/teams/hellotca/repos/?limit=12&offset=0"
headers = {
"TCA-USERID": user_id,
"TCA-TIMESTAMP": str(timestamp),
"TCA-TICKET": ticket
}
response = requests.get(url, headers=headers)
print(response.json())
# 结果如下:
{
"data": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 23,
"name": "repo_name",
"scm_url": "http://git.repo.com/group/repo_name",
"scm_type": "git",
"branch_count": 1,
"scheme_count": 1,
"job_count": 1,
"created_time": "2021-05-14 02:34:44.509118+00:00",
"recent_active": {
"id": 27,
"branch_name": "master",
"active_time": "2021-05-14 02:34:44.509118+00:00",
"total_line_num": 1,
"code_line_num": 1
},
"created_from": "tca",
"creator": {
"username": "author",
"nickname": "author",
"status": 1,
"avatar": "url",
"org": "org_name"
},
"symbol": null,
"scm_auth": {
"id": 1,
"scm_account": null,
"scm_oauth": null,
"scm_ssh": {
"id": 1,
"name": "test",
"scm_platform": 2,
"scm_platform_desc": null,
"user": {
"username": "username",
"nickname": "nickname",
"status": 1,
"avatar": "url",
"org": "org_name"
}
},
"auth_type": "ssh_token",
"created_time": "2021-05-14T10:34:44.552859+08:00",
"modified_time": "2021-05-14T10:34:44.552887+08:00"
},
"project_team": {
"name": "test",
"display_name": "测试",
"status": 1,
"org_sid": "test"
}
}
]
},
"code": 0,
"msg": "请求成功",
"status_code": 200
}
分页方式
平台返回的数据分页格式是使用 limit 和 offset 参数进行分页处理。
示例
比如:server/main/api/orgs/<org_sid>/teams/?limit=12&offset=12获取得到的数据是从第 13 条开始获取
OpenAPI MCP Server
TCA OpenAPI MCP Server 提供 TCA OpenAPI 文档查询能力,帮助有定制化需求的用户快速获取接口信息,提升开发效率。
配置服务
在您的 MCP 客户端中添加配置:
{
"mcpServers": {
"tca-openapi-mcp-server": {
"command": "npx",
"args": [
"-y",
"tca-openapi-mcp-server"
]
}
}
}
提示
您的本地环境需要预先安装Node.js。
CodeBuddy 使用示例
