Example
API and MCP Platform for Turning Research Papers into Buildable Product Signals.
This example keeps the discovery path explicit: search first, verify actor context, and then create a workspace seed so later runs can reuse the same research lineage.
curl
curl -H "Authorization: Bearer s2s_YOUR_KEY" \
"https://sciencetostartup.com/api/v1/free/papers?q=voice+agents&limit=1"
curl -X POST https://sciencetostartup.com/api/mcp \
-H "Authorization: Bearer s2s_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"workspace_create_from_seed","arguments":{"title":"Voice agent thesis","seed_type":"paper","seed_id":"2401.00001"}}}'Python
import requests
headers = {"Authorization": "Bearer s2s_YOUR_KEY"}
paper = requests.get(
"https://sciencetostartup.com/api/v1/free/papers",
headers=headers,
params={"q": "voice agents", "limit": 1},
timeout=30,
).json()
workspace = requests.post(
"https://sciencetostartup.com/api/mcp",
headers={**headers, "Content-Type": "application/json", "Accept": "application/json, text/event-stream"},
json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "workspace_create_from_seed",
"arguments": {
"title": "Voice agent thesis",
"seed_type": "paper",
"seed_id": "2401.00001",
},
},
},
timeout=30,
)TypeScript
const headers = { Authorization: "Bearer s2s_YOUR_KEY" };
const paper = await fetch(
"https://sciencetostartup.com/api/v1/free/papers?q=voice%20agents&limit=1",
{ headers },
);
const workspace = await fetch("https://sciencetostartup.com/api/mcp", {
method: "POST",
headers: {
...headers,
"Content-Type": "application/json",
Accept: "application/json, text/event-stream",
},
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "tools/call",
params: {
name: "workspace_create_from_seed",
arguments: {
title: "Voice agent thesis",
seed_type: "paper",
seed_id: "2401.00001",
},
},
}),
});